先分享个常见错误:
public class A
{private String aa;
public A(String aa) {
super();//此行加或者不加无关紧要
this.aa = aa;}}
public class B extends A
{public B()
{System.out.println("zilei");}}
此种继承会报编译错误,原因解释:
子类有空构造方法的时候执行的顺序实际是:
1、super();
2、本类的方法体
但是父类空构造方法不存在,当存在含参构造方法的时候,父类中无参构造方法如果没有显示的写出,是默认不存在的,所以会报编译错误。
注意:但是单纯的一个类不存在继承的关系只写了含参构造方法,空构造方法也是存在的,也可以调用new xx()