Java中子類調用父類方法

參考文章 :傳送門

當一個類繼承於另一個類,子類中沒有父類的方法時。用子類的對象調用方法時,會首先在子類中查找,如果子類中沒有該方法,再到父類中查找。

當一個方法只在父類中定義時,調用該方法時會使用父類中的屬性。 


如果該方法中又調用了其他方法,那麼還是按照之前的順序,先在子類中查找(使用子類的屬性),再在父類中查找(使用父類的屬性)。

package Temp;

class A {
    int x = 6;
    private int y = 2;

    public A(int a) {
        x = a;
    }

    int getz() {
        int z;
        z = x / y;
        return z;
    }

    void show() {
        System.out.println("x=" + x);
        System.out.println("y=" + y);
        System.out.println("z=" + getz());
    }
}

class B extends A {
    int x = 3, y = 5, z;

    public B(int a) {
        super(a);
    }

    int getz() {
        z = x + y;
        return z;
    }
}

public class Temp {
    public static void main(String[] args) {
        A num1 = new A(10);
        B num2 = new B(9);
        num1.show();
        num2.show();
    }
}

輸出結果:

x=10

y=2

z=5

x=9

y=2

z=8

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章