我有一個擴展其超類的子類的對象。子類中有一個可以使用該對象調用的重寫方法。 有可能使用子類對象調用超類的函數嗎?使用子類對象訪問超類功能
package supercall;
public class Main {
public static void main(String[] args) {
SomeClass obj = new SubClass();
obj.go(); //is there anything like, obj.super.go()?
}
}
class SomeClass {
SomeClass() {
}
public void go() {
System.out.println("Someclass go");
}
}
class SubClass extends SomeClass {
SubClass() {
}
@Override
public void go() {
System.out.println("Subclass go");
}
}
考慮上面的代碼。
這打印
子類去
。相反,我必須打印
超類去
。
是的。但有時候我也會使用子類的方法。難道不能以其他方式調用超類的方法嗎?像obj.super.go()?當然,這是一個錯誤的構造。我的意思是類似的? – bdhar 2010-03-12 11:17:29
呵呵......我剛剛寫了那個答案(沒有發佈)......狗屎!!! – RubyDubee 2010-03-12 11:19:30
@bdhar:是的,你可以叫'超級'。但是你需要從班上的*進行呼叫。它不能在外部完成。 – 2010-03-12 11:22:52