此类是一个同事给我的实例,通过示例注释了一些个人理解的东西可能是错误的理解,不过为了方便记忆暂时用于此理解方式,然后在详细查询资料.
public enum EnumTrafficLamp
{
//每一个枚举类RED相当于一个继承了EnumTrafficLamp枚举类的子类
//EnumTrafficLamp的构造方法设定了变量RED的构造方法中才可以传参
//通过将枚举RED可以调用其他的GREEN枚举
RED (15) {
public EnumTrafficLamp nextLight() {
return GREEN;
}
},
GREEN(30) {
public EnumTrafficLamp nextLight() {
return YELLOW;
}
},
YELLOW(5) {
public EnumTrafficLamp nextLight() {
return RED;
}
};
private int time;
private EnumTrafficLamp() {
}
private EnumTrafficLamp(int time) {
this.time = time;
}
//这里是为了上面的枚举中可以使用方法,
//相当于在EnumTrafficLamp定义了一个抽象方法
//其他枚举类因为是继承了EnumTrafficLamp类,所以
//必须实现EnumTrafficLamp类中的抽象方法nextLight()
public abstract EnumTrafficLamp nextLight();
public String toString() {
return name() + ":" + time;
}
public EnumTrafficLamp next() {
if (this.name().equals("RED")) {
return GREEN;
} else if (this.name().equals("GREEN")) {
return YELLOW;
} else {
return RED;
}
}
public static void main(String[] args) {
EnumTrafficLamp lamp = EnumTrafficLamp.RED;
while (true) {
System.out.println(lamp.next());
//lamp的对象是RED返回结果是GREEN,这样就可以通过GREEN去调用另一个
//为此获得调用循环功能
lamp = lamp.next();
}
}
}
public enum TestPojo
{
A(){
public TestPojo abc()
{
return B;
}
},B(){
public TestPojo abc()
{
return C;
}
},C(){
public TestPojo abc()
{
return A;
}
};
public abstract TestPojo abc();
public TestPojo next()
{
if(name().equals("A"))
{
return B;
}else if(name().equals("B")){
return C;
}else
{
return A;
}
}
public static void main(String[] args)
{
TestPojo t=TestPojo.A;
while(true){
System.out.println(t.next());
t=t.next();
}
}
}
分享到:
相关推荐
java枚举小例子,简单了解枚举的用法,适合初学者使用。
java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名。本项目为普通java项目
非常有用的枚举类型使用例子,简化了数据采集通道的定义。
C# 枚举类型的实例说明,描述了枚举类型的主要使用方法
易语言文件枚举实例源码,文件枚举实例,枚举文件1,枚举文件2,取值,枚举文件3,枚举文件4,取变量数据地址_文本型,API枚举线程,Push,PopN,Pop0,Count,SendMessage_Str,FindFirstFileA,FindClose,FindNextFileA,...
USB枚举实例讲解\实例讲解USB的枚举(配置)过程,网上大量介绍用 bus hound 作监控软件,我们为什么不选 bus hound而选 USB Monitor呢,因为 bus hound 在 WindowsXP 环境不能监控 USB 枚举(配置)过程,它只有在...
C++ SerialEnum 串口枚举实例
JAVA的枚举实例以及应用
C++枚举类型的简单实例,设置了enum result{win,lose,tie,cancle} 实现了这四种情况的顺序输出。
一个简单的例子 让你简单的了解java中枚举给你带来的快了
一个简单易懂的开发实例,相信一定会对大家有帮助的
C++ 结构、联合、枚举 结构的定义与使用 联合的定义与使用 枚举的定义与使用
【枚举各类波形实例】将各种数字波形用枚举的形式存在,并有波形图显示
USB HID在windowsxp下枚举数据例子
关于java枚举的一个实例,
火山PC枚举窗口例
Delphi 线程枚举的简单例子,可能和CPU线程有关系,线程越多的情况下,枚举到的线程也越多。线程是如何获取的,这个枚举的例子会告诉你方法。
VC++枚举系统当前进程例子
USB HID在windows7 32位下枚举数据例子
使用JDK1.6编写的枚举例子,里面有详细的注释,很有必要参考下