枚举getClass、getDeclaringClass区别

枚举getClass、getDeclaringClass区别
1):“不含抽象方法”,所有枚举常量未重写方法,的class
getClass与getDeclaringClass方法输出结果相同
class反编译文件:public final class NoteBook extends Enum

2):“不含抽象方法”,部分枚举常量重写了方法,的class
枚举常量重写了方法:getClass与getDeclaringClass方法输出结果不同
枚举常量未重写方法:getClass与getDeclaringClass方法输出结果相同

class反编译文件:public class Cellphone extends Enum

3 ):“不含抽象方法”,所有枚举常量重写了方法,的class
getClass与getDeclaringClass方法输出结果不同
class反编译文件:public class Week extends Enum

4):
“含有抽象方法”,枚举常量实现了方法,的class
getClass与getDeclaringClass方法输出结果不同
class反编译文件:public abstract class Weather extends Enum

 测试代码下载地址为:test.zip

猜你喜欢

转载自www.cnblogs.com/thaipine/p/9390210.html