java关于构造函数的继承,为什么我这段代码的输出结果第一行不是输出有参的构造函数???运行好几遍了

源代码1:
public class Father{
public Father(){
System.out.println("无参的父类构造函数!!");
}
public Father(String s){
System.out.println("有参的父类构造函数——"+s);
}
}
源代码2
public class Son extends Father{
public Son(){
System.out.println("无参的子类构造函数!!");
}
public Son(String s){
System.out.println("有参的子类构造函数——"+s);
}
}
源代码3
public class Test4_4{
public static void main(String []args){
Son s1=new Son("哈哈");
//s1.Son();
Son s2=new Son();
}
}

首先,java构造器是不能继承的。
当我们用new调用子类的构造器时,系统会先调用父类的构造器。你这段代码要想先调用有参数构造器,你的Son类那里可以显示调用Father的有参数构造器。
温馨提示:答案为网友推荐,仅供参考
相似回答