黑马程序员技术交流社区

标题: 分享 [打印本页]

作者: huangweicong    时间: 2016-10-20 00:48
标题: 分享
定义一个交通灯枚举,包含红灯、绿灯、黄灯,
*  需要有获得下一个灯的方法,例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。
*  
*  思路:
*          1.既然是定义一个枚举,那么就是enum类.
*          2.该枚举类中有三个元素.红,绿,黄.
*          3.拥有获取下一个灯的方法,这个方法可以返回枚举元素,什么类型?自然就是我们定义的枚举类型.
*  总结:
*          1.枚举说实在的,就是把自己的子类都放自己身上.自己的这些元素,就是
*  自己的子类对象.
*          2.子类复写父类方法.返回类型如果是枚举元素,那么就是枚举类型.
*          3.enum,才代表是枚举类.枚举中的元素要写在最开始位置.
*          4.枚举也可以说,在java中属于一个较安全的体系.对元素进行了必要的限制操作.而且是反射无法破解的.
*  思考:
*          1.枚举是一个特殊的类.之所以是特殊的,我认为它所操作的对象不是类中的方法,而是自己的一个一个子类对象元素.
*          2.枚举这个类,应该和java普通类分别看待,属于比较另类的一种.
*          3.枚举既简单也复杂,因为调用了复写,内部类,等等一些用法.还需要
*  多多揣摩.
*         
* */
public class Demo13 {
        public static void main(String[] args) {
                traffic s = traffic.RED.next(); //调用枚举元素以及方法.返回枚举元素.
                System.out.println(s);
        }
}
enum traffic
{
        RED
        {
                public traffic next()  //复写父类的抽象方法.返回还是枚举元素.
                {
                        return GRE;
                }
        },GRE
        {
                public traffic next()
                {
                        return YEL;
                }
        },YEL
        {
                public traffic next()
                {
                        return RED;
                }
        };
        public abstract traffic next(); //枚举的抽象方法,子类需要复写.
}



作者: gyy    时间: 2016-10-20 01:02
good,come on boy!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2