JAVA三大特性——封装、继承和多态
文章目录
封装
封装的目的
封装就是隐藏对象的属性和实现细节。
封装的优点
- 隐藏实现细节
- 降低代码耦合度
- 类内部的结构可以自由更改
- 对成员变量更精确的控制
继承
一个类拥有另一个类的行为或特征,这两个类之间就是继承关系。
继承的目的
通过子类对父类的继承的方式提高代码复用率。
继承的语法
java继承支持单继承、多重继承,但是不支持多继承;通过关键字extends进行继承。
publivc class 子类 extends 父类 {
}
继承的优点
- 代码复用率高
- 方便定义子类,扩展性好
继承的特性
- 子类可以使用父类非private的属性和方法
- 子类可以对父类进行扩展
- 子类可以多态的实现父类的方法
this关键字和super关键字的区别
this关键字用于访问本类的方法和属性,而super用于访问父类的方法和属性。
多态
多态的目的
多态是基于继承特性基础上的特性,通过方法的重载或重写,父类引用子类对象等方式实现,基本表现为同一个方法的表现形式不同。
多态的分类
- 行为多态
- 方法重载
- 方法重写 - 引用多态
- 父类引用子类对象
方法的重载与重写的区别
方法的重载
在同一个类中,方法名相同,方法的参数列表的顺序、类型和参数不同称为方法重载。
方法的重写
父类和子类中有相同的方法签名的两个方法称为重写(方法名、参数列表都相同,而返回值类型可以更改,但必须是父类返回值的子类型);并且子类的方法修饰符范围必须大于等于父类的方法修饰符。
区别
区别 | 重载 | 重写 |
---|---|---|
参数列表 | 可以修改 | 不能修改 |