1.什么是继承
Java核心思想第五版中的定义为:
创建现有类类型的新类。照字面理解:采用现有类形式,又无需在编码时改动其代码,这种方式就叫做“继承”(Inheritance)。
通俗的讲,子类通过关键字 extends 继承父类,以复用父类的属性和方法,也可以在子类中重写父类中的方法或添加新的属性和方法
2.为什么用继承
为了复用代码
3.继承的分类
单一继承、多级继承、分级继承
详细的网上很多,就不再赘述,推荐博客:
java继承(详细)
4.继承的优缺点
1)优点:代码复用;便于扩展;易于维护
2)缺点:破坏了封装原则,子类可以操作父类的变量和方法(可以使用权限控制缓和这个问题);强耦合;不支持一次继承多个父类
继承的目的就是复用代码。代码复用是面向对象编程(OOP)最具魅力的原因之一。除了继承,还有组合可以实现代码的复用。
组合语法
仅需要把对象的引用(object references)放置在一个新的类里,这就使用了组合。
例如,定义A类,然后在B类中引入A类,即为组合
组合和继承都允许在新类中放置子对象(组合是显式的,而继承是隐式的)。
当复用代码时,应该优先使用组合,而非继承
推荐博客:Java继承与组合