gpt4 book ai didi

java - 这里调用父类(super class)构造函数的是什么?

转载 作者:行者123 更新时间:2023-12-01 18:17:17 25 4
gpt4 key购买 nike

我在寻找考试准备问题时遇到了这段代码。我不明白什么是调用父类(super class)构造函数在这段代码中?

输出是 ---> feline cougar cc

THL

        public class Feline{

public String type = "f ";

public Feline(){
System.out.print("feline ");
}
}

-

    public class Cougar extends Feline {

public Cougar(){
System.out.print("cougar ");
}

public static void main(String[] args){
new Cougar().go();
}
void go(){
type = "c ";
System.out.print(this.type + super.type);
}
}

最佳答案

当您有一个扩展其他类的类时,例如Cougar extends Feline必须在构造函数的顶部调用父类(super class)。当您不编写该构造​​函数时,Java 会假定您打算调用默认的父类(super class)构造函数。所以你的构造函数:

public Cougar(){
System.out.print("cougar ");
}

实际上解释为:

public Cougar(){
super();
System.out.print("cougar ");
}

因此调用父类(super class)构造函数。值得注意的是,由于所有类都是 Object 类的扩展,因此在您将编写的每个构造函数的开头都会调用一个父类(super class)构造函数 - 无论是您的显式构造函数已经包含带或不带参数,或者默认的父类(super class)构造函数(如果您未指定)。

关于java - 这里调用父类(super class)构造函数的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28866086/

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