java中对象类的默认构造函数也有super()方法吗?

问题描述 投票:0回答:1
  • 我刚刚发现java中的每个类默认都扩展了Object类。也就是说,Object 类默认是 java 中所有类的父类。
  • java中的每个类都有一个默认的构造函数,即使你不写它。
  • 每个构造函数默认都有一个 super() 方法作为构造函数的第一行,不用写。

那么Object的默认构造函数在执行super()方法时会做什么呢? Object类的父类是谁?如果 Object 类有一个父类,那么该 Object 的父类的父类是谁?

我尝试了谷歌搜索并阅读了一些其他解释,但它们要么非常复杂,要么有一些不同的答案,所以我找不到任何答案。

谢谢您的帮助:)

java class object constructor super
1个回答
0
投票

不。 JLS-12.5。创建新类实例(部分)说,

此构造函数不会以显式构造函数调用同一类中的另一个构造函数(使用 this)开始。如果此构造函数用于除 Object 之外的类,则此构造函数将以显式或隐式调用超类构造函数(使用 super)开始。使用这五个步骤递归地评估参数并处理超类构造函数调用。如果该构造函数调用突然完成,则此过程也会出于同样的原因突然完成。否则,继续步骤 4。

© www.soinside.com 2019 - 2024. All rights reserved.