黑马程序员----Java 枚举
2014-06-28 11:27
197 查看
------- android培训、java培训、期待与您交流! ----------
可以把枚举看成一个类,但是这个类有些特殊,他的构造方法只能被private修饰,也就是说枚举不能被实例化。
不能被实例化的类的内部肯定会有获得这个类对象的方法,而枚举中的元素就是被实例化的对象。
先定义一个最简单的枚举:
枚举还可以有自定义的构造方法:
枚举和普通类一样,可又有自己的成员变量和成员方法,比较特殊的是如果是抽象方法那么那些元素必须实现这个抽象函数(采用内部类的方式),这和抽象类是一样的。
枚举的使用:
枚举的常用方法:
如有疑问的同学,请参看:http://heimacxy.blog.163.com/blog/static/1903840442011611112028947/ 或 http://www.cnblogs.com/hm-chentao
可以把枚举看成一个类,但是这个类有些特殊,他的构造方法只能被private修饰,也就是说枚举不能被实例化。
不能被实例化的类的内部肯定会有获得这个类对象的方法,而枚举中的元素就是被实例化的对象。
先定义一个最简单的枚举:
public enum Lamp{ RED,GREEN,YELLOW; }
枚举还可以有自定义的构造方法:
public enum Lamp{ RED(30), //使用的是带参数的构造函数 GREEN(), //使用的是无参数的构造函数 YELLOW; //和上面的格式一样 private Lamp(){} private Lamp(int time){System.out.println("灯亮的持续时间为"+time+"秒");} }
枚举和普通类一样,可又有自己的成员变量和成员方法,比较特殊的是如果是抽象方法那么那些元素必须实现这个抽象函数(采用内部类的方式),这和抽象类是一样的。
public enum Lamp{ RED(30){ public Lamp nextLamp() { return GREEN; } }, GREEN(){ public Lamp nextLamp() { return YELLOW; } }, YELLOW{ public Lamp nextLamp() { return RED; } }; int time; private Lamp(){} private Lamp(int time){ this.time = time; System.out.println("灯亮的持续时间为"+time+"秒");} public abstract Lamp nextLamp();//打印出下一个灯是什么 } }
枚举的使用:
枚举的常用方法:
public class Enumdemo { public static void main(String[] args) { Lamp lamp1 = Lamp.GREEN; System.out.println(Lamp.RED.nextLamp());//使用它的函数 System.out.println(Lamp.GREEN.ordinal()); System.out.println(Lamp.GREEN.toString()); System.out.println(Lamp.GREEN.equals(Lamp.YELLOW));//比较次序 //如果想通过枚举的字符串名称获得与之对应的元素对象使用valueOf Lamp lamp2 = Lamp.valueOf("RED"); //获得所有枚举元素,也可以获得这个数组的长度 Lamp[] lamps = Lamp.values(); System.out.println(lamps.length); }
如有疑问的同学,请参看:http://heimacxy.blog.163.com/blog/static/1903840442011611112028947/ 或 http://www.cnblogs.com/hm-chentao
相关文章推荐
- 黑马程序员_Java高新技术一_增强FOR、枚举
- 黑马程序员__java_枚举
- 黑马程序员_java基础加强-枚举和反射
- 黑马程序员_java jdk5.0新特性和枚举的学习笔记
- java高新技术_枚举反射内省(黑马程序员)
- 黑马程序员--java的Enum枚举
- 黑马程序员_ Java高新技术——深入Java枚举机制
- 黑马程序员_java高新技术 枚举
- 黑马程序员-java中的枚举
- 黑马程序员_java之枚举和反射机制
- 黑马程序员———Java1.5 新特性之枚举
- 黑马程序员——Java1.5新技术之枚举
- 黑马程序员_王康 java反射,枚举,注解
- 黑马程序员——JAVA(枚举)
- 黑马程序员--java高新技术--java5的枚举
- 【黑马程序员】张孝祥Java高新技术_装箱拆箱、枚举、反射
- 黑马程序员_java学习日记_Java高新技术_枚举
- 黑马程序员_java枚举的学习心得
- 黑马程序员_java高新技术(1)枚举、反射、内省
- 黑马程序员__JAVA高新技术--枚举及内省JavaBean、可变参数等知识点总结