黑马程序员_枚举类

------- android培训java培训、期待与您交流! ----------

1.      如下代码,就是一个典型的枚举类型

(1)它有三个TrafficLamp实例RED、GREEN、YELLOW,这些枚举元素都必须放在枚举体中的最开始部分,枚举元素列表的最后要有分号与其他成员分隔,否则报错。

(2)构造方法必须私有

(3)//RED,GREEN,YELLOW;默认调用无参构造方法创建TrafficLamp的实例对象,根据参数列表来判断到底调用哪个构造方法

RED和RED()都是默认调用无参构造方法

(4)可以由枚举类的子类实例来重写枚举类中的抽象方法

(5)枚举只有一个成员时,就可以作为一种单例的实现方式

(6)比较两个枚举类型的值时,使用==

public enum TrafficLamp {

    //RED,GREEN,YELLOW;

    RED(45){ //默认调用父类TrafficLamp的有参构造方法

       public TrafficLamp nextLamp(){

           return GREEN;

       }

    },GREEN(15){

       public TrafficLamp nextLamp(){

           return YELLOW;

       }

    },YELLOW(5){

       public TrafficLamp nextLamp(){

           return RED;

       }

    };

    public abstract TrafficLamp nextLamp();

    private int time;

    private TrafficLamp(int time){

       this.time=time;

    }

    public String toString(){

       String name=null;

       switch(this){

       case RED:

           name="红灯";

           break;

       case GREEN:

           name="绿灯";

           break;

       case YELLOW:

           name="黄灯";

       }

       return name;

    }

}

public class TafficLampTest {

    public static void main(String[] args) {

       TrafficLamp tl=TrafficLamp.RED;

       System.out.println(tl);

       System.out.println(tl.name());

       System.out.println(TrafficLamp.valueOf("RED"));

       System.out.println(tl.ordinal());

       System.out.println(tl.values().length);

    }

}

上面是一个比较全面典型的枚举类,要掌握。


你可能感兴趣的:(java学习日志)