java枚举学习enum
2014-04-09 13:39
483 查看
java 1.5以后才出现enum的关键字
所有的enum类都继承自Enum类,所以enum类无法再继承其他的类,可以实现接口,枚举类出了不能被继承其余的与普通类的特性一致,
枚举类的构造函数只能自己类内使用
enum类在编译阶段,编译器会把其编译成普通的类,添加values与valueof静态方法
javap 该类后结果如下
我们可以看的其变成了最终类所以不可以被继承,添加了values和valueof静态方法
看一个实现接口的例子
接口
枚举类
java p 反编译后
但是重载的方法m,类是如何知道的呢
使用接口组织枚举,来解决无法从enum继承子类
在一个接口的内部创建实现该接口的枚举,以此将元素进行分组,可以达到将枚举元素分类组织的目的。
资料:
http://blog.jobbole.com/31597/
所有的enum类都继承自Enum类,所以enum类无法再继承其他的类,可以实现接口,枚举类出了不能被继承其余的与普通类的特性一致,
枚举类的构造函数只能自己类内使用
enum类在编译阶段,编译器会把其编译成普通的类,添加values与valueof静态方法
enum MM{YOU,ME}
javap 该类后结果如下
final class MM extends java.lang.Enum{ public static final MM YOU; public static final MM ME; static {}; public static MM[] values(); public static MM valueOf(java.lang.String); }
我们可以看的其变成了最终类所以不可以被继承,添加了values和valueof静态方法
看一个实现接口的例子
接口
public interface IMM { public void m(); }
枚举类
enum MM implements IMM { YOU("SD") { @Override public void m() { System.out.println("you"); } }, ME("fdsa"); MM(String a) { m = a; } private String m; public String getA() { return m; } @Override public void m() { System.out.println("main"); } }
java p 反编译后
class MM extends java.lang.Enum implements IMM{ public static final MM YOU; public static final MM ME; static {}; public java.lang.String getA(); public void m(); public static MM[] values(); public static MM valueOf(java.lang.String); MM(java.lang.String, int, java.lang.String, MM); }
但是重载的方法m,类是如何知道的呢
使用接口组织枚举,来解决无法从enum继承子类
在一个接口的内部创建实现该接口的枚举,以此将元素进行分组,可以达到将枚举元素分类组织的目的。
public interface Food { enum dezzert implements Food { D, E, F; } enum water implements Food { W, R, T; } enum Appetize implements Food { A, B, C; } }
资料:
http://blog.jobbole.com/31597/
相关文章推荐
- java Enum枚举学习
- java学习笔记之 --------枚举(enum)
- Java学习笔记-枚举(enum)
- Java学习笔记82. 枚举 enum
- Java 枚举(enum)入门学习
- java 枚举(enum)学习
- Java学习笔记21 枚举类型enum、Enu…
- java学习笔记之枚举类enum(转载)
- java学习(11) 枚举enum
- Java初学习 - enum(枚举)的一点说明
- 14. JAVA 枚举(Enum、类集EnumMap&EnumSet 、实现接口、定义抽象方法) ----- 学习笔记
- Rhythmk 一步一步学 JAVA (18): Enum枚举学习
- Java中的枚举enum
- Java 深入学习(31) —— 枚举
- Enum 枚举的初步学习(1)
- Java学习笔记---枚举
- JAVA的枚举enum类型 && JAVA的JSON示例
- 深入学习java枚举的应用
- Java enum(枚举)使用详解之一
- java enum(枚举)使用详解 + 总结