extends继承或者implements实现,是多态性的前提。
一、继承的概述
为了便于理解Java中的继承,我们可以把其看为师徒关系,即“师父会多少武功,大徒弟也都会,小徒弟也都会。”而继承主要解决的问题:共性抽取。
继承关系当中的特点:
1、子类可以拥有父类的“内容”;
2、子类还可以拥有自己专有的内容。
在继承关系中,“子类就是一个父类”。也就是说,子类可以被当做父类看待。而父类又称为基类、超类,子类又称为派生类。
例如父类是员工,子类是讲师,那么“讲师就是一个员工”。关系:is-a。
二、继承的格式
//定义父类的格式:(一个普通的类定义)
public class 父类名称 {
// ...
}
//定义子类的格式:
public class 子类名称 extends 父类名称 {
// ...
}
三、继承中的成员变量和成员方法
1、在父子类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式:
(1)直接通过子类对象访问成员变量:
等号左边是谁,就优先用谁,没有则向上找。
(2)间接通过成员方法访问成员变量:
该方法属于谁,就优先用谁,没有则向上找。
2、区分子类方法中重名的三种写法:
局部变量: 直接写成员变量名
本类的成员变量: this.成员变量名
父类的成员变量: super.成员变量名
3、在父子类的继承关系当中,创建子类对象,访问成员方法的规则:
创建的对象是谁,就优先用谁,如果没有则向上找。
注:无论是成员方法还是成员变量,如果没有都是向上找父类。