继承,java 三大特性之一
继承是面向对象最显著的一个特性。 继承是从已有的类中派生出新的类, 新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
简单来说,就是你父亲有的东西,你就不用再自己去创建了;减少不必要的创建,实现拿来主义的最好证明。
继承优点:
1、子类拥有父类非 private 的属性、方法。
2、子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
3、子类可以用自己的方式实现父类的方法。
4、Java 的继承是可以单继承和多重继承,也可以不同类的继承组成兄弟关系,同一个源头不同的个人。
继承缺点:
耦合度高,因为继承了父类的东西,所以想分开就很难了,藕断必定丝连。增减的代码维护难度,尤其是多重继承和兄弟关系继承,毕竟家族历史长
继承的使用和认识:
1、继承是怎么实现的?
使用extends 和 implements 关键字
extends 继承的都是对象
implements 继承实现并实现的是接口
2、在继承的场景下,同一样东西,怎么区分是你老爹的还是你自己的?
使用super 与 this 关键字
super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
this关键字:指向自己的引用。
3、父类的某些方法不想被子类继承,怎么处理?
对方法或属性进行 private 关键字或final关键字修饰
private 关键字修饰,子类无法使用和继承
final关键字修饰,无法继承,但是否可以被使用需要看权限属性