运用普通类模拟实现枚举功能
来源:互联网 发布:我知女人心下载 编辑:程序博客网 时间:2024/04/29 00:28
需求:通过运用普通类WeekDay 来实现枚举WeekDay 功能;
步骤:
1.私有构造方法;
2.将每一个元素分别用一个公有的静态成员变量表示;
3.创建公有方法访问;
class WeekDay{ private WeekDay() {} public final static WeekDay MON = new WeekDay(); public final static WeekDay SUN = new WeekDay();
public WeekDay nextDay()
{
if(this == MON)
return SUN;
else
return MON;
}
.......}上述代码中,如果静态成员变量过多,会造成if.else语句过于冗长,
可通过抽象类,抽象方法将If.esle 语句转化为一个独立的类。
优化:
abstract class WeekDay{private WeekDay(){}public final static WeekDay MON = new WeekDay(){public WeekDay nextDay(){return SUN;}};public final static WeekDay SUN = new WeekDay(){public WeekDay nextDay(){return MON;}};public abstract WeekDay nextDay();
}
0 0
- 运用普通类模拟实现枚举功能
- 普通类模拟枚举类实现
- java普通类模拟枚举实现原理
- 用普通类模拟枚举的实现原理
- 黑马程序员 - 用普通类模拟枚举的实现原理
- 用普通类模拟枚举类型
- 普通类实现枚举类
- Java枚举(用Java普通类模拟枚举的实现原理及JDK枚举API使用示例)
- 用普通类模拟枚举--枚举的原理
- Java普通类实现枚举类型
- 使用普通类实现枚举类型
- 普通类实现枚举与抽象类的应用比较
- 普通类实现枚举与抽象类的应用比较
- 普通Java类实现枚举类和枚举类的对比
- 枚举运用
- 运用JDK中 ZipInputStream类实现压缩文件的解压缩功能
- 高效的运用MAP类实现“比较”的功能
- C# 实现模拟登录功能,实现公共类分享。
- hdu 1532 Drainage Ditches
- matlab画一个局部放大的图中图(转)
- 甘肃定西腋臭微创清除术多少钱
- 1009
- 正确理解web交互中的cookie与session
- 运用普通类模拟实现枚举功能
- C++无锁编程资料,无锁队列等
- ssh 无法免密码登陆问题
- profiles特性
- Android platform 源码的下载、编译
- 程序在内存分配的基本情况
- 关于%s 和%c的小小的收获
- Backbone入门指南(四):Model(数据模型)
- 相关代码网页