子類調(diào)用父類方法問題(非構(gòu)造)
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); } }
目前的結(jié)果是 0
如果把注釋取消,結(jié)果是3。
求老師指點迷津:
父類有方法,子類沒有,我創(chuàng)建【子類對象】,為什么最后是0?子類不可以用父類的方法么?
對象是子類的,
但如果在子類也創(chuàng)了一模一樣的方法, 結(jié)果就是3。
2015-08-01
調(diào)用父類方法中的getage()方法返回的是父類中的age,方法查找變量的順序是局部變量-->成員變量-->靜態(tài)變量