關於Java中子類呼叫父類方法
阿新 • • 發佈:2019-01-28
當一個類繼承於另一個類,子類中沒有父類的方法時。用子類的物件呼叫方法時,會首先在子類中查詢,如果子類中沒有改方法,再到父類中查詢。
當一個方法只在父類中定義時,呼叫該方法時會使用父類中的屬性。
如果該方法中又呼叫了其他方法,那麼還是按照之前的順序,先在子類中查詢,再在父類中查詢。
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
這只是我個人暫時的理解,歡迎指正。