簡體   English   中英

有什么方法可以通過子類對象調用超類的方法,而不必通過同名的子類方法嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM