最近学习枚举(Enum)时,发现所有创建的枚举类型都如class一样隐式的继承了一个父亲,所有枚举的父亲是 java.lang.Enum 。也正是如此,心起疑惑class隐式继承Object类,那么java的单继承机制如何解释?
解惑
所有的class隐式扩展(extends)Object,那么当显式扩展一个class时候,那么此时的依赖关系会由(A—>Object)变成(A—>B—>Object),即该类会从直接扩展,变成间接扩展Object。如下图(借用自https://blog.csdn.net/qq_16268979/article/details/108577859)
扩展
枚举隐式被 public static final 修饰,因此枚举不能有子枚举;又因为java单继承机制,因此枚举不能再继承其他任何内容,但是可以实现多个接口。