
请问如果父类只有有参数的构造函数,子类是否也无条件调用父类的有参构造函数呢?
3个回答
展开全部
不是的,子类可以无条件调用父类的无参数构造函数,如要调用有参数构造函数的话需要显式调用,但如果子类中没有显式调用父类的构造函数时,会调用父类编译器自动给加上的无参构造函数,你可以通过反编译看到父类中多了一个无参的构造函数。
展开全部
如果父类没有无参构造器,子类中也不能声明无参构造器,必须在子类构造器中写这样的代码:
public class Child extends Father{
public Child(String a) {
super(a);
}
}
我在父类中声明的有参构造器是这样的:
public Father(String a){
System.out.println("有参父类构造函数被调用");
}
不然编译器会报错。
public class Child extends Father{
public Child(String a) {
super(a);
}
}
我在父类中声明的有参构造器是这样的:
public Father(String a){
System.out.println("有参父类构造函数被调用");
}
不然编译器会报错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是的,你必须要用super()显示调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询