关键字:Java ,父类与子类 ,构造器
1.子类在初始化的时候,Java将自动调用基类的默认构造器;
2.当基类只有带参数的构造器时,子类的构造器必须显式的利用super关键字调用基类的构造器;
3.当基类有多个构造器且其中包含默认构造器,而且子类不显式的调用基类的构造器时,Java将自动调用基类的默认构造器(这点是我琢磨的);
2.当基类只有带参数的构造器时,子类的构造器必须显式的利用super关键字调用基类的构造器;
3.当基类有多个构造器且其中包含默认构造器,而且子类不显式的调用基类的构造器时,Java将自动调用基类的默认构造器(这点是我琢磨的);
即:父类并不一定要有默认的无参数构造器。分为两种情况:
1、有默认构造器,那么子类在不显示调用有参父类构造器的时候,会隐式调用该默认构造器。
2、没有默认构造器,那么子类必须显示调用有参父类构造器。
又:隐式调用父类无参数构造器的情况:
1、父类仅有无参数构造器,子类肯定会隐式调用
2、父类有多个构造器,且其中包含无参数构造器,且子类没有显式调用父类的有参构造器,那么会隐式调用无参数构造器。