问个枚举的问题 帮我为这句话举个例子吧 “枚举的构造器不能有程序员来调用完成枚举的实例化,是由系统通过枚举值后面定义的参数来自动调用枚举的构造器” 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 enum Dog{ A("Tom"),B("Jerry"); private String name; Dog(String name){ this.name = name; }} 怎么让他自动调用,又不能Dog d = new Dog("Tom"); 你用 Dog.A 的时候 就自动调用构造了,这个时候A就已经有一个name属性 值是"Tom" 那这样有什么意义吗?有没没有构造器不都是"Tom"吗? 2的例子举得不是很恰当...枚举一般可以通过重写的toSting()获得其值给你解释一下为什么不能程序员自己调用构造方法吧:枚举类型不能有public的构造方法,所以客户没有办法新建一个enum的实例。但是我们还是可以定义构造方法,在enum内部使用。用Animal这个例子解释一下。 public enum Animal{ Dog("This is Dog"), Cat("This is Cat"), Pig("This is Pig"); private String animalType; Animal(String animalType){ this.animalType= animalType; } public String toSting(){ return this.animalType; } } 要注意这里构造方法不能为public或者protected, 从而保证构造方法只能在内部使用,客户代码不能new一个枚举值的实例出来。这也是完全符合情理的,因为我们知道枚举值是public static final的常量而已。 通过一个按钮响应添加另一个组件,,需要放大或者拉动窗口组件在会出现?? 线程问题,一点也不懂阿!! JTree节点上的文字显示长度是如何控制的? 关闭连接的正确方法?? 请大家作一下题,并说出你的理由! 300分求解:怎么实现其他图层覆盖网页上的 显示图片用的applet ???分不够,再开贴给分 Together 6.1 for eclipse注册码? 初学者 string怎么转化成double? 知道为什么吗? 菜鸟求助!java最基本问题 输出的字符串中有乱码
enum Dog{
A("Tom"),B("Jerry"); private String name; Dog(String name){
this.name = name;
}
}
枚举一般可以通过重写的toSting()获得其值
给你解释一下为什么不能程序员自己调用构造方法吧:
枚举类型不能有public的构造方法,所以客户没有办法新建一个enum的实例。
但是我们还是可以定义构造方法,在enum内部使用。用Animal这个例子解释一下。 public enum Animal{
Dog("This is Dog"),
Cat("This is Cat"),
Pig("This is Pig"); private String animalType; Animal(String animalType){
this.animalType= animalType;
} public String toSting(){
return this.animalType;
} } 要注意这里构造方法不能为public或者protected, 从而保证构造方法只能在内部使用,
客户代码不能new一个枚举值的实例出来。这也是完全符合情理的,因为我们知道枚举值
是public static final的常量而已。