[英]Is there any way to call superclass's method on a subclass object without going through the subclass method of the same name?
如果我有一個超類和子類,如下所示
class Superclass {
public void someMethod() {
System.out.println("superclass called here");
}
}
和
class Subclass extends Superclass {
public void someMethod() {
System.out.println("subclass called here");
}
}
假設我有一個對象,其類為子類,例如Subclass sc = new Subclass();
。 我知道我可以使用super.someMethod();
在子類的方法中調用超類的方法。 但是有什么方法可以在對象sc上調用supclass方法,而不必通過同名的子類方法?
ps這個問題來自Java課程中一小部分UCB的數據結構。 第四部分,問題三。 CS 61B實驗5
不,那不可能。 此外,從面向對象的角度來看,祖先類不應該知道其后代,因此,如果您需要這種東西,那么最好重新設計您的類。
編輯:也許可以使用一些類路徑遍歷和反射來實現,但是我強烈不建議這樣做(見上文)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.