一个一个的列举出来
enum代表一个枚举类
枚举类的
public class EnumDomo { public static void main(String[] args) { //作为一个类还是要提供服务---外部获取到对象 Season2 s =Season2.spring; //Season.spring=null; //外部修改我对象的地址值,加上final就报错 //switch case 用枚举 switch (s) { //枚举类型---要匹配枚举类型里所有的枚举常量 case spring: System.out.println("春天"); break; case summer: System.out.println("夏天"); break; case autumn: System.out.println("秋天"); break; case winter: System.out.println("冬天"); break; default: break; } } } //季节 class Season{ //外部拿不到构造方法---外部拿不到对象的创建过程 //构造方法私有化 private Season(){} //本类可以访问私有化构造方法--创建本类对象 //加上static ---让外部不创建对象的前提下获取到这个属性 //加上final----防止外部修改我对象的地址值 public final static Season spring =new Season(); } enum Season2{ //枚举类是抽象的 //枚举类的属性-----枚举常量---枚举常量一定要在首行枚举类的首行 // public final static Season spring =new Season(); //枚举常量的实质就是public final static 的对象 spring { @Override void m2() { // TODO Auto-generated method stub } }, summer { @Override void m2() { // TODO Auto-generated method stub } },autumn { @Override void m2() { // TODO Auto-generated method stub } },winter { @Override void m2() { // TODO Auto-generated method stub } }; //只要再第一句就行 //普通属性和方法可以定义再枚举类中 int i=1; public void m() {}; //枚举类中的构造方法一定是私有的,因为我已经对外开放了static 对象,所以就不需要你构造方法公有了 private Season2() {} //可以实现抽象方法,但是上面的枚举常量要重写抽象方法,通过匿名内部类 abstract void m2(); }