§ 2.4 继承
? 本节主要内容
– 继承的基本概念
– 继承在 java中的实现
2.4.1什么是继承
? 继承也称为派生,是指一个新类可以继承其他已有
类的所有成员,包括成员属性和成员方法。新类不
但保留被继承过来的类的属性和方法,并可以根据
自身需要对类进行修改,添加新的成员属性和成员
方法。
? 例如,轮船和客轮,其中,客轮是轮船的一种,客
轮继承于轮船后,将拥有轮船所有的特征,同时也
具备客轮自己特有的特征。
2.4.1什么是继承
? Java语言中的继承语法结构
– 类访问限定符 派生类名 extends 基类名
– 示例 2.4.1 继承的基本应用 (见书 104页 )。
2.4.2成员变量的隐藏和方法的重写
? 在类的继承过程中,派生类中可能会定义与基类相同
的成员属性和成员方法,派生类通过覆盖基类的成员
变量和重写基类的方法,可以把基类的状态和行为改
变为自身的状态和行为。
? 例如,
class SuperClass
{int x;
void setX( ){ x=0; }}
class SubClass extends SuperClass{
int x; //隐藏了父类的变量 x
void setX( ) //重写了父类的方法 setX(){
x=5;
} }
2.4.2成员变量的隐藏和方法的重写
? super与 this
– this表示的是当前对象本身,更准确的说,this代表
了当前对象的一个引用。对象的引用可以理解为对
象的另一个名字,通过引用可以顺利地访问到对象,
包括访问、修改对象的属性、调用对象的方法。
– super表示的是当前对象的直接基类对象,是当前对
象的直接基类对象的引用。所谓直接基类是相对于
当前对象的其他“祖先”类而言的。
2.4.2成员变量的隐藏和方法的重写
? 示例 2.4.2 this与 super的基本运用。(见书 105
页)
2.4.3类与类成员的访问限定
? 派生类的对象拥有基类的所有的属性和方法,派生类的对象不能直接访
问基类的私有属性或方法,它只能通过基类的公有成员方法来访问。
如示例 2.4.3所示(见书 108页)。
? 派生类隐藏了基类的同名变量。如果是方法这就是重写,方法重写
是指在派生类中声明与基类同名的方法,从而覆盖了基类的方法。
? 重构解决了派生类与基类的差异问题。这里必须要声明一下的是,
在 JAVA中,派生类出现了对基类属性的隐藏和基类方法的覆盖后,
在派生类中,派生类对象仅能调用派生类本身的属性和方法。要调
用基类的属性和方法必须要使用 super这个关键字。
? 示例 2.4.4 继承的演示 。(见书 110页)
小结
? 通过本节学习,我们主要学习了如下内容,
– 继承的基本概念
– 继承的实现