面向对象的三大特性
封装
目的
- 限制外部访问,使某些方法和属性无法被外部访问
实现
- 通过作用域控制属性和方法可访问性
- 将属性设置为
private,通过getter和setter进行访问 - 限定参数取值范围
1 | private int age; //age为私有变量,外部不可直接访问 |
继承
- 包含父类非
private的所有属性和方法,并可扩展自己的方法
声明
1 | class 类名 extends 父类{ |
限制
- 不能继承私有成员
- 只能单继承
调用
- 在初始化子类时,会先调用父类的构造方法
重写(Override)
- 父类的某方法无法满足要求时,可重写该方法。
声明
- 该方法的声明需与父类的返回类型相同,参数相同,作用域不小于父类该方法的作用域。(
private < default < public)详见作用域
super
调用父类的某方法
e.g. 1
super.hello();//调用父类的hello方法
注意与重载的区别
多态
- 在继承的基础上,对父类的某个方法进行自定义重写,这样对于调用它的方法来说,只需要将参数设置为该父类即可
转型
向上转型
将子类转为父类,自动转型
父类 对象名 = 子类对象
向下转型
将父类转为子类,需强制转换,只有曾经是该子类才能转换
子类 子类 = (子类)父类对象
instanceof
- 确定该对象是不是某类
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AlMirai!