继承的概念
- 关系:字面意思,即父子关系。
- 特性:子类是从父类派生而出,子类能吸收已有父类的数据属性和方法,并有扩展的能力。
继承的分类
- 单继承:一个子类最多只能有一个父类。
- 多继承:一个子类可有两个以上的父类。
继承的实现
子类一般格式:
[类修饰符] class 子类名 extends 父类名{
成员变量定义;
成员方法定义;
}
class Person{
int a;
public void pp(){
System.out.println("a");
}
class Student extends Person{
int b;
public void lowlow(){
System.out.print("b");
}
构造方法
构造方法的继承遵循以下原则:
- 子类无条件地继承父类的无参数的构造方法。
- 如果子类没有定义构造方法,则它将继承父类无参数的构造方法作为自己的构造方法;如果子类定义了构造方法,则在创建子类对象时,将先执行来自父类的无参数的构造方法,然后在执行自己的构造方法。(即当一个对象被new出来时)
- 对于父类带参数的构造方法,子类可以通过在自己的构造方法中使用super关键字来调用它,但是调用语句必须是子类构造方法的第一条执行语句。
注意:构造方法的特点是没有返回类型,并且void也不属于无返回类型,void返回类型为null。
class A{
A() {
System.out.println("A()");
}
}
class B extends A{
A(){
System.out.println("B()");
}
public static void main(String[] args){
new B();
}
运行结果为:
A()
B()
在构造父类和子类对象时,遵循以下步骤:
- 静态语句执行,即static。
- 成员变量的初始化。
- 语句块的初始化。
- 构造方法的执行。