疑惑:如何訪問(wèn)被覆蓋父類(lèi)的方法 -- java與C++類(lèi)模型的一點(diǎn)差異
Posted on 2008-03-06 10:34 bluoy 閱讀(1069) 評(píng)論(3) 編輯 收藏如下代碼:
class A{
public void foo(){print("aaaaa");}
}
class B extends A{
public void foo(){print("bbbbb");}
}
如果想通過(guò)B的實(shí)例化變量來(lái)調(diào)用被override的父類(lèi)的方法foo():
B b = new B();
在C++中(VC 6)可以兩種途徑;
1. ((A)b).foo();
2. A a = B();
在java中類(lèi)似做法則行不通,依然訪問(wèn)的是子類(lèi)方法。
而且,在java中好像達(dá)不到這個(gè)目的。