1、继承的概念:(纯个人理解)
就是子类拥有父类的属性和方法,同时还可以具有父类没有的属性或方法
2、好处
A:提高了代码的复用性(多个类相同的成员可以放到同一个类中)
B:提高了代码的维护性(当需要修改代码的时候,不用一个一个修改)
C:让类与类之间产生关系,是多谈的前提
3、特点:
A:Java只支持单继承,不支持多继承,
B:支持多重继承
4、使用继承的条件:
继承中类之间体现的是:“is a”的关系
5、继承的格式
class 子类名 extends 父类名{
}
6、继承间的成员变量关系:
A:名字不同,根据名字找就好了
B:名字相同,就近原则,首先在子类局部范围内找,之后再子类成员范围内找,
之后再父类成员范围内找(不能访问父类局部变量),如果没有就报错
7、继承间的成员方法关系:
A:名字不同的话直接找名字
B:名字相同的话,先在子类中查找,再在父类中查找
8、继承间构造方法的关系:
子类所有构造方法只会访问父类中的无参构造方法
出现这种情况的原因是:
因为子类会继承父类中的数据,可能还会使用父类的数据。
所以,子类初始化之前,一定要先完成父类数据的初始化。
每个子类的构造方法的第一行,有一条默认的语句:
super();
注意:仅仅是完成数据的初始化,创建对象目前必须用new申请空间。
调用父类的其他构造方法,带参构造;使用super(...)访问
注意:
super(…)或者this(….)必须出现在第一条语句上。
因为如果可以放后面的话,就会对父类的数据进程多次初始化。所以,只能放在第一条语句上。
建议: 永远给出无参构造方法。
9、子类如何访问父类:用super关键字
super.成员变量 父类的成员变量
super.成员方法 父类的成员方法