可能重复:
不继承 Object 类的类
我想知道Java中的每个类是否都是从 Object 隐式继承的。我正在读一本说不的书,我很困惑。
那本书在撒谎。查看 Java API 中的任何类,您会注意到第一个父类实际上是Object
.
顺便说一句:那本书到底是什么?
**编辑**
让我们先澄清一件事:
问: 每个 java 类都隐式继承自 Object 类吗?
A:如果您认为该类Object
不能有超类“因为它是原始类并且没有直接超类”,那么没有,因此您的书是对的。
但是,如果您认为“该类Object
是所有其他类的超类”,并且被排除在问题之外(因为一个类不能继承自身),那么根据定义是。
根据我对语言及其规范的理解,“所有类和数组类型都继承类的方法Object
”应该是字面意思。这意味着创建的每个对象都拥有类中定义的方法Object
。由于这个原因,并且由于该类Object
没有超类(因为规范中没有超类!),并且由于所有类都继承了这些方法(这些方法在 JVM 创建的任何对象中都可用),那么如果一个类没有显式扩展Object
(因为它不是类Object
),它本身或虚拟机的超类隐式地这样做。
如您所见...类继承自Object:
http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html
public final class Class<T>
extends Object
implements Serializable, GenericDeclaration, Type, AnnotatedElement
把这本书扔到垃圾箱!!
这本书在一种情况下可能是正确的。该类Object
不扩展Object
。但请记住,其他人都会这样做。
请参阅文档。
类对象