所以根据java docs
All enums implicitly extend java.lang.Enum. Because a class can only extend one parent, the Java language does not support multiple inheritance of state, and therefore an enum cannot extend anything else.
但是在java中我们也知道:-
All classes in Java extend java.lang.Object class implicitly
但是我们显然可以在java中扩展类。由于我们扩展的类本身是从 Object
扩展的(因此它不会导致多重继承,或者将其声明为:- 如果您不扩展任何其他类,则从 Object
扩展else 从 XYZ
类扩展,而 XYZ
又从 Object
扩展)
由于枚举无法扩展其他类/枚举等,java 文档的解释是否不正确?
我错过了一些愚蠢的观点吗?
最佳答案
这只是意味着您不能让您的枚举扩展除隐式扩展的Enum
之外的任何其他内容。
当它说 Java 不允许扩展多个类时,这意味着您不能拥有
.--------. .----------.
| Enum | | YourBase |
'--------' '----------'
^ ^
\ /
\ /
.----------.
| YourEnum |
'----------'
另一方面,这是完全可以的:
.--------.
| Object |
'--------'
^
|
.--------.
| Enum |
'--------'
^
|
.----------.
| YourEnum |
'----------'
当文档说
All classes in Java extend java.lang.Object class implicitly
它只是意味着每个类要么直接扩展 Object,要么通过它的父类(super class)间接扩展。
关于java - Enum继承解释不清楚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29253096/