Java中Enum类下的values()方法的由来
(2012-11-22 16:02:11)
标签:
it |
分类: 编程之道 |
public enum Test{
}
该类下有values()方法,但查API可知道java.lang.Enum<ElementType>下根本没有这个方法,该方法在java.lang.annotation.ElementType类下(public enum ElementType extends Enum<ElementType>),我们先看看编译后,用javap命令查看编译后的内容:
C:\>javap Test
Compiled from "Test.java"
public final class Test extends
java.lang.Enum<<FONT
color=#fe3824>Test> {
}
可以看出,貌似编译后Test是实现了java.lang.annotation.ElementType这个接口,再看其字节码:
Classfile /C:/Test.class
public final class Test extends java.lang.Enum
Constant pool:
t;
/Class;Ljava/lang/String;)Ljava/lang/Enum;
g/String;I)V
)V