1. 继承
1.1继承的概述
如果多个类有多个相同的属性和方法,就可以定义一个父类,将这些相同的属性和方法整合到一起,然后可以将多个子类继承于父类,这些子类就可以拥有这些相同的属性和方法,可以提升代码的复用性。
(图片来自黑马程序员视频)
1.2继承的好处和弊端
1.2.1继承的好处
1.2.1.1 提高代码的复用性(多个类的相同成员可以放在同一类中) 1.2.1.2 提高代码的维护性(如果方法的代码需要修改,修改一处即可)
1.2.2继承的弊端
1.2.2.1 继承让类与类之间产生了关系,类的耦合性增加了,当父类发生变化的时候,子类也不得不变化,失去了独立性。
1.3继承的变量访问特点
访问子类的一个变量,按照一下顺序访问。 1.子类方法局部范围内查找 2.子类成员范围内查找 3.父类成员范围内查找 4.一直找到最后一个没有父类的类中的成员变量 5.都没有就报错
1.4关键字super
super关键字的用法和this用法类似 this:代表本类对象的引用 super:代表父类储存空间的标识(可以理解为父类的引用)
1.5继承中构造方法的访问特点
1.5.1子类的所有构造方法都会默认访问父类的构造方法 原因: 1.5.1.1子类会继承父类中的数据,还可能会使用父类的数据,所以在子类初始化之前,一定要完成父类的构造方法。 1.5.1.2每一个子类的构造方法的第一条语句默认都是super 1.5.2若父类中只有带参的构造方法,没有带参的构造的方法 可以使用super关键字去调用父类的带参构造方法 或者在父类提供一个无参的构造方法
1.6继承中成员方法的访问特点
通过子类对象访问一个方法,按照一下顺序: 1.子类成员范围查找 2.父类成员范围查找 3.一直找到最后一个没有父类的类 4.都没有就报错
|