當一個類繼承于另一個類,子類中沒有父類的方法時。用子類的對象調用方法時,會首先在子類中查找,如果子類中沒有改方法,再到父類中查找。
當一個方法只在父類中定義時,調用該方法時會使用父類中的屬性。?
如果該方法中又調用了其他方法,那么還是按照之前的順序,先在子類中查找,再在父類中查找。
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=10y=2z=5x=9y=2z=8
?