java中,父类的构造方法不能被子类继承,对吗
2个回答
展开全部
不对。。子类默认继承父类的构造方法 子类创建对象时默认调用自身的空构造器,并在子类构造器中隐式的调用super() 即调用父类的空构造器,如果父类重载了构造器,那么子类必须初始化父类构造器否则编译错误!
class Animal{
private String name;
//重载父类构造器
Animal(String name){
this.name = name;
}
}
class Dog extends Animal{
//必须加上
// Dog(String name){
// super(name);
// }
}
class Test{
public static void main (String[] args){
Animal a = new Dog();
//首先调用Dog空构造器 Dog(){ }构造器中第一句话为super()但父类已覆盖空构造器所以
//编译产生错误应添加子类构造器初始化父类构造器
//
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询