黑马程序员_java枚举的学习心得

来源:互联网 发布:魔兽世界装备数据库 编辑:程序博客网 时间:2024/05/18 20:51
------------------------ android培训、java培训、期待与您交流! ----------------------


枚举的学习心得总结


枚举是1.5的新特性。在JDK1.5 之前,我们定义常量都是: public static final…… .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 public enum Color { RED, GREEN, BLANK, YELLOW }

枚举的特点有

1、枚举也是一种特殊形式的java类;

2、枚举中声明的每一个枚举值代表枚举类的一个实例对象;

3、与java中的普通类一样,在声明枚举时,也可以声明属性、方法和构造函数,但构造函数必须为私有的;

4、枚举也可以实现接口,或继承抽象类;

5、当枚举只有一个枚举值时,则可以当做单态设计模式使用。

详细例子:

publicclass EnumTest {

    publicstaticvoid main(String[] args) {

    TrafficLamp trafficlamp = TrafficLamp.RED//直接获得枚举的RED实例对象,不用new了。

//实例对象的各种方法演示

    System.out.println(trafficlamp);

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

    System.out.println(trafficlamp.valueOf("GREEN"));

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

}

publicenum TrafficLamp{

       //枚举值(一般用大写)一定要从首行开始写,直到写完才能写其他的成员

       RED(30){      //指定调用有参数的构造方法进行初始化

           public  TrafficLamp nextLamp(){

              returnGREEN;

           }

       },//枚举的一个RED实例对象,覆盖了nextLamp()抽象方法

       GREEN(40){

           public  TrafficLampnextLamp(){

              returnYELLOW;

           }

       },//枚举的一个GREEN实例对象,覆盖了nextLamp()抽象方法

              YELLOW(5){

           public  TrafficLampnextLamp(){

              returnRED;

           }

       };//最后一个枚举值,后面还有其他内容用“;”结束枚举的一个YELLOW实例对象,覆盖了nextLamp()抽象方法

public abstract TrafficLampnextLamp();//其他成员(构造方法、成员变量)要放在枚举值后面。

       privateinttime;

       private TrafficLamp(int time){

           this.time = time;

       }

}


---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima

原创粉丝点击