标签:front rgba pareto 变量 hash 传递 匿名类 静态 错误
1:什么是枚举:
public enum Direction { SPRING, SUMMER, FALL, WINTER; } Seanson s = Season.SPRING;
Season s = Season.SPRING; switch(d) { case SPRING: System.out.println("春天");break; case SUMMER:System.out.println("夏天");break; case FALL: System.out.println("秋天");break; case WINTER: System.out.println("冬天");break; default:System.out.println("谁知道是什么季节呢?"); } Direction s1 = s; System.out.println(s1);
所有枚举类都是Enum的子类
所有枚举类都默认是Enum类的子类,无需我们使用extends来继承。这说明Enum中的方法所有枚举类都拥有。
5:枚举构造器:
枚举类的构造器只能是private修饰,因为枚举类的实例不能由外界来创建。
但是要注意的是不需要手动添加,默认就是private
同时注意枚举类都是唯一构造器;有了无参的构造器,就不能定义有参的构造器,反过来同理。
public enum Season { SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天"); private final String name; Seanson(String name) { this.name = name; } public String getName() { return name; } }
6:枚举可以有成员
其实枚举类和正常的类一样,可以有实例变量,实例方法,静态方法等等,只不过它的实例个数是有限的,不能再创建实例而已。
public enum Season { SPRING("春天"),SUMMER("夏天"),FALL("秋天"),WINTER("冬天"); private final String name; Seanson(String name) { this.name = name; } public String getName() { return name; }
Serason s = Season.SPRING;
System.out.println(s.getName());
}
public enum Season { SPRING("春天"){ @Override public void fun(){ } }, SUMMER("夏天"){ @Override public void fun(){ } }, FALL("秋天"){ @Override public void fun(){ } }, WINTER("冬天"){ @Override public void fun(){ } }; private final String season; Season(String season) { this.season = season; } public String getSeason() { return season; } public abstract void fun(); }
8:每个枚举类都有两个特殊的方法:
每个枚举类都有两个不用声明就可以调用的static方法,而且这两个方法不是父类中的方法。这又是枚举类特殊的地方,下面是Direction类的特殊方法。
标签:front rgba pareto 变量 hash 传递 匿名类 静态 错误
原文地址:https://www.cnblogs.com/bad-squirrel/p/14148919.html