子類調用父類方法問題(非構造)
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,方法查找變量的順序是局部變量-->成員變量-->靜態變量