总结了5点,希望能帮到你,如下面代码所示。
- //1.先来个最基本,最简单的枚举
- public enum Color{
- GREEN,RED,YELLOW,ORANGE,BLUE
- }
- //2.TrafficLamp中的每一个元素就是他的的实例对象,而这些实例对象可以有共同的构造方法和普通方法。如下所示
- public enum Color2{
- GREEN,RED(3),YELLOW,ORANGE,BLUE;
- //这里来写两个构造函数,不同的实例对象可以使用不同的构造函数,如上行代码中比其他元素更特殊的RED(3)所示,用了带参数构造函数,其他的用无参数构造函数。
- //无参数构造函数
- private Color2(){
- System.out.println("hello");
- }
- //有参数构造函数
- private Color2(int num){
- System.out.println(num);
- }
- }
- //3.通过上面两个例子,再来理解这个枚举
- public enum TrafficLamp
- {
- RED(35)
- {
- public TrafficLamp nextLamp()
- {
- return GREEN;
- }
- },
- GREEN(45)
- {
- public TrafficLamp nextLamp()
- {
- return YELLOW;
- }
- },
- YELLOW(5)
- {
- public TrafficLamp nextLamp()
- {
- return RED;
- }
-
- };
- //4.这下面一小部分代码,即说明每个实例对象都 有方法nextLamp(),都有一个变量time和带参数int型数据的构造函数.
- //5.普通方法必须写成静态的,然后被子类复写。
- public abstract TrafficLamp nextLamp();
- private int time;
- private TrafficLamp(int time)
- {this.time =time;}
- }
复制代码 |