gpt4 book ai didi

java - 为什么要在 Java 中调用 super() ?

转载 作者:行者123 更新时间:2023-12-02 07:38:36 28 4
gpt4 key购买 nike

我在一本关于java的书中看到了一个例子:

public class A{
public A(){
System.out.println("A");
}
}

public class B extends A{
public B(){
super();
System.out.println("B");
}

public static void main(String[] args){
B b = new B();
}
}

我不明白为什么 super() 应该在这里?即使我删除 super(),我也会得到相同的结果(A 将被打印,然后 B)。据我了解,当我初始化子类时,父类会在它之前初始化。那么为什么要使用 super() 呢?

最佳答案

在这种特殊情况下,您不需要调用 super();,因为 Java 会在构造函数中隐式插入对 super(); 的调用,如果你没有明确地调用它。 (Java Tutorial link) .

只有在其他情况下才有必要,在这种情况下,您想要调用父类(super class)中的另一个非默认构造函数,例如:

public class A{
public A(String s){
System.out.println("A");
}
}

public class B extends A{
public B(String s){
super(s);
System.out.println("B");
}
}

关于java - 为什么要在 Java 中调用 super() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22566187/

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