引出继承
代码问题
上面三个类,发现有共同的代码
如何来去解决代码重复的问题
我们就可以使用继承来去解决上面问题
继承
什么是继承
从已有类中,派生出新的类,新的类中吸收已有类当中的状态和行为。
把多个类中相同的属性和行为进行提取,派生出一个新的类
Java继承是使用已有类作为基础,建立新的类。
继承是一种从一般到特殊的关系,是一种 “is a” 的关系
即子类是对父类的派生,是一种特殊的父类
比如:狗是动物的一种特殊情况,狗属于动物,卡车是车的一种特殊情况,卡车属于车…
如何表示继承
语法格式: 在定义子类的时候来表明自己需要拓展于哪一个父类
public class 子类类名 extends 父类类名
{
编写自己特有的状态和行为
}
继承作用
- 解决代码重复问题
- 表示出一个体系
继承编写规则
一般的,我们在开发工程中先编写多个自定义类,写完之后,发现多个类之间存在共同的代码,此时可以抽去出一个父类
子类与父类的继承关系
子类继承父类之后,可以拥有父类的某一些状态和行为。子类复用了父类的功能或状态,但并不是父类当中所有的内容,子类都可以直接使用。
子类可以使用父类当中的哪些成员
- 如果父类中的成员使用public修饰,子类继承
- 如果父类中的成员使用 protected修饰,子类也继承,即使父类和子类不在同一个包中
- 如果父类和子类在同一个包中,此时子类可有继承父类中 缺省修饰符的成员
- 如果父类中的成员使用 private修饰,子类打死都继承不到,因为private只能在本类中访问
- 父类的构造器,子类也不能继承,因为构造器必须和当前的类名相同