gpt4 book ai didi

java - 继承类中的构造函数调用

转载 作者:行者123 更新时间:2023-11-29 06:42:32 25 4
gpt4 key购买 nike

这是一个非常基础的 Java 问题。我在某处读到,首先在子类的构造函数中隐式调用了父类(super class)的构造函数。但是我找不到对文档的引用,无法详细阅读。有人可以提供这个引用吗?

这是我所说的一个示例,它输出 super sub 字符串:

class SuperClass {
static String s = "";
protected SuperClass() { s += "super "; }
}

public class SubClass extends SuperClass {
private SubClass() { s += "sub"; }
public static void main(String[] args) {
new SubClass();
System.out.println(s);
}
}

最佳答案

在 Java 中没有覆盖的构造函数 - 它们不是以多态方式开始的。

但是每个构造函数都必须调用父类(super class)的构造函数,隐式(调用无参数构造函数)或显式(以 super(...) 作为构造函数主体的第一行 - < em>or 链接到同一类中的另一个构造函数,以 this(...) 作为构造函数主体的第一行。链接的构造函数在构造函数的其余部分之前执行 body 。

参见 section 8.8.7 of the Java Language Specification了解更多详情。

关于java - 继承类中的构造函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9855335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com