黑马程序员技术交流社区

标题: 枚举类中valueOf(String name)和values()两个静态方法是怎么来的 [打印本页]

作者: lancerjs    时间: 2014-7-28 16:19
标题: 枚举类中valueOf(String name)和values()两个静态方法是怎么来的
因为Enum类和Object类中都没有定义这两个方法,但自己定义的枚举类中却可以使用这两个方法,想不明白它俩怎么来的
作者: 王广丛    时间: 2014-7-28 17:16
其实我也并不是非常理解这个问题。但是关于这两个方法的来源我可以给你解释一下,至于为什么会这样,我也希望牛人能来解答一下。
这两个方法是通过编译器添加的。在创建枚举类的时候编译器会自动添加这两个方法。 但是在Enum类中也有一个valueOf方法,但是这个方法有两个参数,而由编译器添加的valueOf方法只有一个参数。
枚举被编译器解释为final,因此枚举不能被继承。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2