Java的Object是一个Object或者其他类型的东西吗?

问答节目或类似的活动

以下是对该句的汉语本地化释义:Java中,所有数组和类都隐式继承了Object类。请问是否是对还是错?

回答之类的东西

这个,我自己也经常会说这样的话,如果你尝试阅读日文的JavaDoc的话。

Object类是类层次结构的根。所有的类都会有Object作为其父类。包括数组在内的所有对象都会实现这个类的方法。

写的是那样的。

然而,答案是否定的。

在Java中,并不是所有的数组和类都会隐式继承Object类。其中有一些例外。

特例类别

例外的情况是Object类。
Object类不继承Object。
当然是这样了。
如果Object继承Object,
执行Objcet::new→super();→Object::new→super();→以此类推
构造函数就会无限递归。
就像“GNU’s Not Unix!”一样!

你继承了什么东西?

如果这样做,我们会关注Object类继承了什么。
特别是在Object::new之后。
所以我在代码中进行了确认。
java
System.out.println(new Object().getClass().getSuperclass().toString());

在主线程中出现异常:”main” java.lang.NullPointerException

满屏刷物品。

“赠品之类的” zhī de)

顺便看看Java的语言规范吧。

类对象是所有其他类的超类(§8.1.4)。

真的写在上面啦!

广告
将在 10 秒后关闭
bannerAds