Java 继承
继承的概念:java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立父子关系。
继承的格式:子类 extends 父类
public class Student extends People {}
作用:当子类继承父类后,就可以直接使用父类公用的属性和方法了。
特点:
1.子类可以继承父类的属性和行为,但是子类不能继承父类的构造器。
2.Java是单继承模式:一个类只能继承一个直接父类。
3.Java不支持多继承、但是支持多层继承。
4.Java中所有的类都是Object类的子类。
使用继承的好处:可以提高代码的复用性,减少代码冗余,增强类的功能扩展性。
如下所示:Student称为子类(派生类),People称为父类(基类或超类)。
继承的设计规范:
子类们相同特征(共同属性,共同方法)放在父类中定义。
子类独有的属性和行为应该定义在子类自己里面。
Object特点:Java中所有类,要么直接继承了Object , 要么默认继承了Object , 要么间接继承了Object, Object是祖宗类。
Java只支持单继承,不支持多继承。
在子类方法中访问成员(成员变量、成员方法)满足:就近原则
先子类局部范围找
然后子类成员范围找
然后父类成员范围找,如果父类范围还没有找到则报错。
如果子父类中,出现了重名的成员,会优先使用子类的,此时如果一定要在子类中使用父类的怎么办?
可以通过super关键字,指定访问父类的成员。
格式:super.父类成员变量/父类成员方法
this和super:
关键字 | 访问成员变量 | 访问成员方法 | 访问构造方法 |
this | this.成员变量 访问本类成员变量 | this.成员方法(…) 访问本类成员方法 | this(…) 访问本类构器 |
super | super.成员变量 访问父类成员变量 | super.成员方法(…) 访问父类成员方法 | super(…) 访问父类构造器 |