2014-02-08 58 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)