-------android培训、java培训、期待与您交流! ----------
在学习张孝祥老师交通系统中枚举这一节时,感觉张老师讲课风趣幽默,态度严谨,而且循序渐进又很有深度。下面我分享一下我在学习这节视频时的学习笔记及心得写下来。
2.怎么用普通类如何定义一个枚举功能,定义一个weekDay的类来模拟枚举功能私有构造方法?
③可以有若干公有方法或抽象方法,例如:提供nextDay方法必须抽象。
- 常量:枚举可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
- switch语句:switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。
- 向枚举中添加新方法:如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且Java要求必须先定义enum实例。
- 覆盖枚举的方法;
- 实现接口:所有的枚举都继承自java.lang.Enum类。由于Java不支持多继承,所以枚举对象不能再继承其他类。
- 使用接口组织枚举;
- 关于枚举集合的使用:java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。
3.枚举的应用(举例:定义一个weekDay枚举)
扩展枚举类的values,valueOf,name.toString,ordinal等方法
总结:枚举是一种特殊的类,其中每个元素都是该类中的一个实例对象,例如weekDay.sun.getClass(),getName和weekDay.class.getName(),采用抽象方法定义nextDay就得将大量if-else语句转移成一个独立的类。