public class ExtendsExcersize {
public static void main(String[] args) {
B b = new B();
}
static class A{
public A() {
System.out.println("a");//A的无参构造器
}
public A(String name) {
System.out.println("a-name");
}
}
static class B extends A{
public B() {
this("张三");
System.out.println("b");//B的无参构造器
}
public B(String name) {
System.out.println("b-name");
}
}
}
输出结果:
a
b-name
b
子类无参构造器被调用的时候父类无参构造器会先被调用,所以先输出a,然后this方法中调用了子类的有参构造器所以输出b-name,然后最后输出b