继承性(重点) |
1、问题的引出 |
去掉重复 |
2、继承的使用 |
extends关键字来实现继承关系,扩充已有类的功能 |
继承的定义格式: |
class 子类 extends 父类 |
子类有时也被称为派生类,父类也被称为超类(Super Class) |
子类中没有任何操作,也可以使用父类里的属性 |
一旦使用继承,子类将具备父类中的全部功能 |
在程序中,子类可以选择性对父类的功能进行扩充,也可以不扩充 |
3、继承限定 |
继承可以进行类功能的扩充,但是也存在若干限制: |
1、在java中一个类只允许继承一个父类 |
c++中一个子类可以同时继承多个继承,多重继承 |
java里有多层继承,一般在进行多层继承的时候,千万别超过三层 |
2、子类会继承父类中的全部操作,但是对于所有的私有操作属于隐式继承 |
非私有操作属于显式继承 |
虽然不能访问,但是属性被继承下来了 |
可以通过getter和setter方法间接操作 |
3、子类对象在进行实例化之前,会默认调用父类构造(默认执行父类的 |
无参构造方法),而后再调用子类对象为子类实例化 |
就相当于,在子类构造方法之中,隐含了一个super()的语句。 |
表示由子类调用父类的构造方法,如果没传递参数表示调用无参。 |
只能放在子类构造方法的首行。 |
如果父类有参,super()要加上参数 |