Java继承extends与super关键字详解

时间:2022-09-22 20:05:16

函数也称为方法!

继承:在java中使用extends关键字来表示继承关系。super用来继承父类方法和参数。

继承就是子类继承父类的特征和行为,使得子类具有父类相同的行为。

注意事项:

1、当一个类没有继承任何一个类时,系统默认继承Object。

2、父类又被称为基类、超类、super类,子类又被称为派生类,这是由于翻译问题而导致的。

3、Java的继承是单一性的。

4、子类不能继承父类的构造方法,但是可以继承构造方法类的参数。

5、子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。但子类不能继承父类private修饰的属性和方法。

语法格式:

系统默认继承

class 类名 extends Object{/*代码块*/}

正确继承语法

class 子类名 extends 父类名{/*代码块*/}

错误继承语法

class 子类名 extends 父类名,父类名{/*不支持多继承*/}

创建类名为Father的父类:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Father {
    int a;
    int b;
    int addSum;
    Father(int a,int b){ //父类的构造函数
        this.a=a;
        this.b=b;
    }
    void Cal(){ //父类自己的方法
        addSum=a+b;
        System.out.println(addSum);
    }
    public static void main(String[] args){
        Father f=new Father(2,2); //创建对象初始化
        f.Cal(); //父类调用父类的方法
    }
}

父类运行结果:4

创建子类名为Son的子类:

?
1
2
3
4
5
6
7
8
9
10
11
12
public class Son extends Father{
    Son(int a, int b) { //子类的构造方法
        super(a, b); //继承来自父类的参数
    }
    void son(){ //子类自己的方法
        super.Cal(); //子类调用父类的方法
    }
    public static void main(String[] args){
        Son s=new Son(3,3); //创建对象初始化
        s.son(); //子类调用子类的方法
    }
}

子类运行结果:6