我在調用第二級繼承類的方法時遇到問題。 的情況是這樣的,調用子類的方法
abstract class SuperClass
{
public void MethodOne()
{
MethodTwo();
}
public abstract void MethodTwo();
}
class Sub1 extends SuperClass
{
public void MethodTwo()
{
//code in sub1
}
}
class Sub2 extends SuperClass
{
public void MethodTwo()
{
//code in sub2
}
}
隨着下面的代碼,我期望從分公司2的MethodTwo()被調用。但方法從Sub1被調用。我錯過了什麼嗎?
SuperClass anObj = new Sub2();
anObj.MethodOne();
什麼是init()? –
如果'init()'表示'MethodOne()',則必須調用'Sub2#MethodTwo()'。你(錯誤地)觀察到從'Sub1'的方法被調用了嗎? – sp00m
應該是MethodOne()。謝謝你... – Kannan