继承
Java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立起继承关系。
public class son extends father {}
1.继承的好处
1)可以把多个子类中重复的代码抽取到父类中,提高代码的复用性。
2)子类可以在父类的基础上,增加其他的功能,使子类更加强大。
注意:
子类不能选择性继承父类;
Java不支持多重继承,但一个类可以实现多个接口,从而克服单继承的缺点;
构造方法不会被子类继承,但可以从子类中调用父类的构造方法。
2.继承的特点
子类可以继承父类的属性和行为,但是子类不能继承父类的构造器。 Java是单继承模式:一个类只能继承一个直接父类。 Java不支持多继承、但是支持多层继承。 Java中所有的类都是Object类的子类。
解释:子类只能继承一个直接父类//一个儿子只能有一个父亲
支持多层继承//父亲的父亲叫爷爷
public class son extends father {} public class father extends grandfather {}
3.继承后访问成员的访问特点
1)就近原则
优先在子类范围内找,然后在父类范围内查找。
如果出先重名成员,会优先使用子类的。如果在子类中想要使用父类的重名成员,使用super关键字。
格式:super.父类成员变量/父类成员方法。
this.子类成员变量/子类成员方法。
4.方法重写
在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法是重写的方法。 方法重写的应用场景 当子类需要父类的功能,但父类的该功能不完全满足自己的需求时。 子类可以重写父类中的方法。
注意:重写的方法具有与其所重写的方法相同的名称、参数数量、类型和返回值。