定义一个交通灯枚举,包含红灯、绿灯、黄灯,
* 需要有获得下一个灯的方法,例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。
*
* 思路:
* 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(); //枚举的抽象方法,子类需要复写.
}
|
|