一、继承的特点:
- Java只支持单继承,不支持多继承,即一个类只能有一个父类,不可以有多个父类
class A{ }
class B{ }
class C extends A,B{ }//这种写法错误
- Java支持多层继承
例如:
class A{ }
class B extends A{ }
class C extends B{ }
二、继承中成员变量的特点:
- 子类只能获取父类的非私有成员
- 子父类中成员变量的名字若不一样,则直接获取父类的成员变量
- 子父类中成员变量名字若一样,则获取的是子类中的成员变量
super:
可以获取父类的成员变量和成员方法,用法和this是相同的
就近原则:
- 如果有局部变量就使用局部变量
- 如果没有局部变量,有子类的成员变量就使用子类的成员变量
- 如果没有局部变量和子类的成员变量,有父类的成员变量就用父类的成员变量
三、继承中成员方法的特点
方法的重写:
在子父类中,子类的方法和父类的方法完全一样,子类重写了父类的方法(即覆盖),当子类重写了父类的方法之后,使用子类对象调用的就是子类的方法。
方法的重载:
在一个类中,有多个重名的方法,但是其中参数不一样(参数的个数,参数的类型,参数的顺序),和返回值无关。
四、继承中构造方法的执行顺序
- 在有子父类继承关系的类中,创建子类的对象,调用的是子类的构造方法
- 如果子类构造方法的第一行代码没有调用父类的构造方法,则会默认的调用父类的无参构造
- 肯定会先执行父类的构造,因为要先给父类的成员变量进行初始化,子类可能会使用到
我们可以使用super()在子类构造方法的第一行中调用父类的构造方法
五、继承的优缺点
优点:
- 提高了代码的复用性
- 提高了代码的可维护性
缺点:
- 类的耦合性增强了
- 开发的原则:高内聚低耦合
- 内聚:就是自己完成某件事的能力
- 耦合:类与类之间的关系
来源:CSDN
作者:slient_love
链接:https://blog.csdn.net/slient_love/article/details/104581075