java继承中子类是不会继承父类的构造函数的,只是必须调用(隐式或者显式)
1.子类会隐式调用父类的无参构造函数。
public class 继承测试 {
public static void main(String[] args) {
new Son();
System.out.println("----------------------");
new Son(3);
}
}
class Foo{
public Foo() {
System.out.println("父类的无参构造函数");
}
public Foo(int t){
System.out.println("父类的有参构造函数");
}
}
class Son extends Foo{
public Son(){
System.out.println("子类的无参构造函数");
}
public Son(int t){
System.out.println("子类的有参构造函数");
}
}
输出:
2.子类可以显式调用父类的有参构造函数。
public class 继承测试 {
public static void main(String[] args) {
new Son();
System.out.println("----------------------");
new Son(3);
}
}
class Foo{
public Foo() {
System.out.println("父类的无参构造函数");
}
public Foo(int t){
System.out.println("父类的有参构造函数");
}
}
class Son extends Foo{
public Son(){
super(1);
System.out.println("子类的无参构造函数");
}
public Son(int t){
super(1);
System.out.println("子类的有参构造函数");
}
}
输出: