自定义枚举类有两种写法
第一种写法:
class Season { private String name; //在 Season 内部,直接创建固定的对象 , //优化,可以加入 final 修饰符 public static final Season SPRING = new Season("春天"); public static final Season WINTER = new Season("冬天"); public static final Season AUTUMN = new Season("秋天"); public static final Season SUMMER = new Season("夏天"); //将构造器私有化,为了防止直接 new private Season(String name) { this.name = name; } //去掉 setXxx 方法, 防止属性被修改,只保留getXxx方法,用于读取 public String getName() { return name; } //重写toString()方法,用于输出 @Override public String toString() { return "Season{" + "name='" + name + '}'; }
此处注意两个地方:
此处是再类内部直接生成实例对象。
第二种写法
enum Season { private String name; SPRING("春天") //将构造器私有化,为了防止直接 new private Season(String name) { this.name = name; } //去掉 setXxx 方法, 防止属性被修改,只保留getXxx方法,用于读取 public String getName() { return name; } //重写toString()方法,用于输出 @Override public String toString() { return "Season{" + "name='" + name + '}'; }
注意两个地方:
总结:
在关键字class作用下的
public static final Season SPRING = new Season("春天");
等价于在关键字enum作用下的
SPRING("春天")标签:java,name,自定义,Season,枚举,new,public,String From: https://www.cnblogs.com/ReturnOfTheKing/p/17085128.html
注:
如果使用无参构造器创建枚举对象,则实参列表和小括号都可以省略。
当有多个枚举对象时,使用 “,” 间隔,最后有一个分号结尾。
枚举对象必须放在枚举类的行首。