这里写目录标题
5.0 概述
- 基础:子类与父类、子类的继承、子类与对象、成员变量的隐藏金额方法的重写
- 重点:对象的上转型对象、继承与多态
- 难点(难在理解不是语法难):abstract类与abstract方法、抽象编程
5.1 子类与父类
5.1.1 子类
- 子类和父类的原理
- A是父类,B是子类。
- 语法
class 子类名 extends 父类{
}
- 注意
- 每一个子类只能有一个父类。java不支持多重继承。
5.1.2 类的树形结构
- 如果C是B的子类,B又是A的子类,习惯上C是A的子孙类
- java的根节点是Object类(在java.lang包中)
5.2 子类的继承性
- 继承:所谓继承父类的成员变量作为自己的一个成员变量,就好像他们在子类中直接声明一样,可以被子类中自己定义的任何实例方法操作。
5.2.1 子类和父类在同一个包中的继承性
- 子类继承父类不是
private
变量和方法。
5.2.2 子类和父类不在同一个包中的继承性
- 不是同一个包还想用继承要引入父类的包。
- 子类继承父类不是
private
和友好
变量和方法。
5.3 子类与对象
5.3.1 子类对象的特点
- 子类对象的特点
- 子类创建对象时,创建的内存空间包括三部分
- 子类自己类中的成员变量
- 子类继承的protected的成员变量
- 子类未继承的成员变量(用于继承的成员方法进行操作)
- 子类继承的方法能操作子类继承的和没继承的成员变量,就是不能操作新定义的成员变量。
- 子类创建对象时,创建的内存空间包括三部分
5.3.2 关于instanceof运算符
- 用法:
instanceof
是双目运算符,当左边的操作数是右边的类或者子类所创建的对象时结果就是true
否则就是false
5.4 成员变量的隐藏和方法的重写
5.4.1 成员变量的隐藏
- 当子类所声明的成员变量和父类的成员变量的名字相同时,就会隐藏父类的成员变量。