gpt4 book ai didi

java - 当父类(super class)只有一个带参数的构造函数时,子类的所有带参数的构造函数都需要 super(args) 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:30 24 4
gpt4 key购买 nike

class Animal{
String s;
Animal(String s){
this.s = s;
}
}


class Dog extends Animal{
Animal animal;
Dog(String s) {
super(s);
}
//here is an error "Implicit super constructor Animal() is undefined.Must explicitly invoke another constructor"
Dog(Animal animal){
this.animal = animal;
}
}

我的困惑是,我已经在

中调用了父类(super class)的带有参数的构造函数
Dog(String s) {
super(s);
}

但为什么我在另一个构造函数 Dog(Animal animal) 中仍然收到错误消息?

构造函数机制在这个例子中是如何工作的?

谢谢!

最佳答案

您的问题的答案很简单:是的。

任何子类构造函数必须首先调用super。如果父类(super class)只有一个构造函数接受一些参数,那么子类中的那些“ super 调用”必须使用那个构造函数。

关于java - 当父类(super class)只有一个带参数的构造函数时,子类的所有带参数的构造函数都需要 super(args) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41255258/

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