子類調用父類方法問題(非構造)
package?test3; abstract?class?fu { int?age; int?getage() { return?age; } } class?zi?extends?fu { int?age; /* int?getage() { return?age; } */ } class?test3?{ public?static?void?main?(String[]?args) { zi?z?=?new?zi(); z.age=3; int?a=z.getage(); System.out.println(a); } }
目前的結果是 0
如果把注釋取消,結果是3。
求老師指點迷津:
父類有方法,子類沒有,我創建【子類對象】,為什么最后是0?子類不可以用父類的方法么?
對象是子類的,
但如果在子類也創了一模一樣的方法, 結果就是3。
2015-08-01
調用父類方法中的getage()方法返回的是父類中的age,方法查找變量的順序是局部變量-->成員變量-->靜態變量