2014-02-08 66 views
0

我已經開始使用Java泛型。在下面的課上,由於課堂持有T,我想也有一個課程可以延長T.請幫助。通用類來保存派生類型

public class HolderUnique<T> { 

    private T a; 

    public HolderUnique(T a){ 
     this.a = a; 
    } 
    public T getA() { 
     return a; 
    } 
    public void setA(T a) { 
     this.a = a; 
    } 
} 
+5

你已經可以做到這一點。試試看。您可以將'T'的子類型分配給'T'。 –

+0

您可以使用T的一個子類沒有問題 – Charleh

+0

但我該怎麼做? –

回答

0

假設你有一個S類,它擴展了T,你也宣佈hold作爲HolderUnique<T>。我們還假定您已將sObj聲明爲S型。絕對沒有理由不能說T.setA(sObj)