1、
public class A {
public A() {
System.out.println("A类的无参构造函数");
}
public A(int a) {
System.out.println("A类的有参构造函数");
}
}
public class B extends A {
public B(){
//super();//1、不写或者写super()都会调用父类的无参构造函数
System.out.println("B类的构造函数");
}
}
public class Program {
public static void main(String[] args) {
B b = new B();
}
}
运行结果:
A类的无参构造函数
B类的构造函数
2、
public class A {
public A(int a) {
System.out.println("A类的有参构造函数");
}
}
public class B extends A {
public B(){
super(1);//2.父类如果没有无参的构造函数,必须要使用super(参数)来调用父类的构造函数
System.out.println("B类的构造函数");
}
}
public class Program {
public static void main(String[] args) {
B b = new B();
}
}
运行结果:
A类的有参构造函数
B类的构造函数