public class Test1 { public static void main(String[] args) { //Season.SPRING,这段执行就是获取一个Season对象 Season s1 = Season.SPRING; s1.showInfo(); Season s2 = Season.SUMMER; s2.showInfo(); Season s3 = Season.AUTOM; s3.showInfo(); Season s4 = Season.WINTER; s4.showInfo(); Season s5 = Season.SPRING; //每次执行Season.SPRING获得的是相同的对象,枚举类中的每个枚举都是单例模式的 System.out.println(s5.equals(s1)); s5.test(); s3.test(); } } enum Season implements ITest{ //这四处相当于在调用有参的私有构造 SPRING("春天","春暖花开"), SUMMER("夏天","炎炎夏日"), AUTOM("秋天","秋高气爽"), WINTER("冬天","寒风凛冽"); private final String name; private final String desc; private Season(String name,String desc){ this.name=name; this.desc= desc; } public void showInfo(){ System.out.println(this.name+":"+this.desc); } @Override public void test() { System.out.println("这是实现的ITest方法"); } } interface ITest{ void test(); }
输出结果:
春天:春暖花开
夏天:炎炎夏日
秋天:秋高气爽
冬天:寒风凛冽
true
这是实现的ITest方法
这是实现的ITest方法