Java的特征之二 ——继承性
继承性
1.继承性的思想:当处理一个问题时,可以将一些有用的类保留下来,在遇到同样问题时拿来复用。
2.继承性的目的:利用特定对象之间共有属性,提高代码复用性。
3.被继承的类称为父类(超类、基类),继承的类称为子类(派生类)。上图所示,继承关系可以使用树形关系来表示,父类和子类存在一种层次关系。一个类处于继承关系体系中,它既可以是其他类的父类,为其他类提供属性和行为,也可以是其他类的子类,继承父类的属性和方法。如三角形既是图形类的子类,又是等边三角形的父类。
4.Java只支持单继承和多层继承,不允许多重继承,即一个子类只能有一个父类,一个父类可以派生出多个子类。
5.一旦子类继承了父类,子类就获取了父类中声明的所有的属性和方法。特别的,父类中声明的private属性和方法,子类继承父类后,仍然认为子类获取到了父类的私有结构(因为封装性,子类不能直接调用父类的私有结构) 。
6.在子类中可以根据具体需要对父类中的方法进行改造,也成为方法的重置、覆盖。在执行程序时,子类方法将覆盖父类方法。
- 子类重写父类方法时,被重写的方法必须具有相同的方法名和参数列表;
- 子类重写的方法返回值类型不能大于父类别重写的方法返回值类型;
- 子类重写的方法的权限修饰符不小于父类被重写的方法的权限修饰符。特殊情况,子类不能重写父类中声明为private的方法;
- 子类方法抛出的异常类型不能大于父类被重写方法的异常类型。
7.继承的好处:
- 继承代码的冗余,提高代码的复用性;
- 便于功能的扩展;
- 为多态的使用提供前提。
路漫漫其修远兮,吾将上下而求索