簡體   English   中英

如何在子類對象上調用超類方法?

[英]How to call a superclass method on a subclass object?

我有一個MySuperClassMySubClassMain

我的超級類.java

public abstract MySuperClass { 
    String param; 

    public String getParam() { 
        return param;                  
    } 
}

我的子類

public class MySubClass extends MySuperClass { 
}

主程序

public <T extends MySuperClass> void doWork (Class <T> subClassObject) { 
    subClassObject.getParam(); // method undefined 
} 

為什么? 我指定T extends MySuperClass 所以所有MySuperClass方法都應該適用於子類。 如何從子類對象調用超類的方法?

subClassObject不是MySuperClass實例,它是一個java.lang.Class實例。 您應該將此參數定義為T ,而不是Class<T>以獲得您想要的行為:

public <T extends MySuperClass> void doWork (T subClassObject) {
   subClassObject.getParam();
   // etc...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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