Java面向对象基础--继承、多态、super关键字、object类、final关键字
Java面向对象基础–继承、多态、super关键字、object类、final关键字
继承
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承关键字:extends
特性:
- 子类拥有父类非 private 的属性、方法。
- 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
- 子类可以用自己的方式实现父类的方法。
- Java 的继承是单继承(接口可以多继承),但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C类,所以按照关系就是 C 类是 B 类的父类,B 类是 A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
- 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。
生活中的继承:
为什么要继承?
- 代码冗余
- 程序难以更新
- 难以扩展
get、set方法:
- get:得到一个属性的值
- set:把属性赋值给一个值
方法覆盖与方法重载
方法覆盖:把从父类继承过来的方法重写
区别:
- 重写:只能子类继承父类
- 重载:是类就可以。
多态
多态就是同一对象,引用不同实例,体现不同结果
父类引用方法时,只能调用子类从父类继承来的方法,不能调用子类扩建的方法
多态的优点
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
super关键字
我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
出现在构造场合较多
object类
所有类的父类
final关键字
加final,不能动
- 修饰类,不能被继承
- 修饰方法,不能被重写
- 修饰变量,则变为常量
- 修饰属性,不能被重新赋值
- 修饰对象,不能引用其他对象