继承的概念:
- 三大基本特征:封装、继承、多态;
- 继承是面向对象三大特征之一,可以使子类具有父类的属性和方法,还可以在子类中重新定义方法内容。
继承的特点:
Java仅支持单继承,有且只有一个父类,但可以有多个子类。
Java中类支持多层继承,父类也有父类。
继承的实现与作用:
继承通过extends关键字实现;
格式:class 子类 extends 父类 { }。
继承可以让类与类之间产生子父关系,使子类能够使用父类中非私有成员。
继承的利弊:
- 提高了代码的复用性,可以多个成员类中将相同的代码块放到同一个父类中;
- 提高了代码的维护性,如果多个成员的代码需要修改,只需要修改父类即可;
继承增强了类的耦合性,当父类发生变化,子类也会跟着变化,削弱了子类的独立性。
继承的应用:
使用继承,需要考虑类与类之间是否存在谁是谁的关系,不能盲目使用;
例如:老师和学生是人的一种,那人就是父类,学生和老师就是子类。
继承中变量的访问:
- 在子类方法中访问一个变量,采用的是就近原则。
- 先找子类局部变量,再条成员变量,接着再找父类成员变量。
super关键字:
super关键字与this关键字用法相同。
this标识为本类对象地址进行访问;super标识为父类对象地址进行访问;
子类的构造方法:
- 子类中所有的构造方法,默认都会访问父类中无参构造方法;
- 如果父类中没有无参构造,那就必需去调用父类的带参构造方法;
- 子类会继承使用父类的数据,所以必需执行父类的构造方法;
- 子类构造方法的第一条语句默认都是super(),因此优先执行父类的构造方法。