我在调用第二级继承类的方法时遇到问题。 的情况是这样的,调用子类的方法
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