其实父类的构造方法是已经被子类继承了的,但是父类构造方法被子类继承了,它也还是、而且只是父类的构造方法,不是子类的构造方法;另外考虑构造方法的特点,第一个特点就是构造方法的名字和类名相同,子类继承了父类的构造方法,那这个构造方法名与子类名相同吗(同时考虑:父类名和子类名能相同吗)?因此,继承下来的构造方法就不再是子类的构造方法了,当然它只能是父类的构造方法;构造方法是由系统自动调用的,它先于对象被执行,在还没有该对象之前构造方法已经被调用了,所以书上常说构造方法不能被继承;总结来看:构造方法被继承了却又相当于没被继承。
子类的构造方法必须通过调用父类的构造方法来初始化基类的数据成员,所以用super调用构造方法 |
|