1. 继承的概念

1.1. 当多个类之间有相同的特征和行为时,可以将相同的内容提取出来组成一个公共类,让多个类吸收公共类中已有特征和行为而在多个类型只需要编写自己独有特征和行为的机制,叫做继承。

1.2. 在Java语言中使用extends(扩展)关键字来表示继承关系。

1.3. 使用继承提高了代码的复用性,可维护性及扩展性,是多态的前提条件。

 

2. 继承的特点

2.1. 子类不能继承父类的构造方法和私有方法,但私有成员变量可以被继承只是不能直接访问。

2.2. 无论使用何种方式构造子类的对象时都会自动调用父类的无参构造方法,来初始化从父类中继承的成员变量,相当于在构造方法的第一行增加代码super()的效果

2.3. 使用继承必须满足逻辑关系:子类 is a 父类,也就是不能滥用继承。

2.4. Java语言中只支持单继承不支持多继承,也就是说一个子类只能有一个父类,但一个父类可以有多个子类

 

3. 方法重写的概念

  从父类中继承下来的方法不满足子类的需求时,就需要在子类中重新写一个和父类一样的方法来覆盖从父类中继承下来的版本,该方式就叫做方法的重写(Override)

 

4. 方法重写的原则

4.1. 要求方法名相同、参数列表相同以及返回值类型相同,从Java5开始允许返回子类类型。

4.2. 要求方法的访问权限不能变小,可以相同或者变大。

4.3. 要求方法不能抛出更大的异常(异常机制)