1、调用父类的构造方法:super(), or super(parameters);
注:不像属性和方法,父类的构造方法是不被子类继承的,只能从子类的构造方法中用super关键字来调用。
2、super必须放在构造方法的第一行。
3、构造方法可以调用重载的构造方法(使用this关键字)或他的父类的构造方法(使用super关键字),如果没有被显式的调用,编译器会自动把super()作为构造方法的第一条语句。
4、构造方法链 就是在构造一个实例的时候,将会调用沿着继承链的所有父类的构造方法。
5、最好能够为每一个类提供一个无参构造方法,以便于对该类进行扩展的时候避免错误。
例如:
public class Apple extends Fruit{ } class Fruit { public Fruit(String name){ System.out.println("this constructor is invoked"); } }
由于Apple没有构造方法,于是在新建实例的时候,Apple的默认无参构造函数会被调用,默认构造函数又会调用Fruit的无参构造函数,但是Fruit没有这个函数,所以编译错误。