package test;
class A
A(T t){
Class> var = t.getClass();
System.out.println(var);
}
}
class B extends A
B(Integer t) {
super(t);
}
}
public class XL{
XL(){
B b = new B(5);
System.out.println(b); }
public static void main(String[] args) {
new XL();
}
}
class java.lang.Integer
感觉没这么玩的吧?既然是泛类型,你的实现中就不应该跟类型绑定
不然还不如不使用范类型。使用泛类型本意上就是为了与类型脱离
如果只是几个可预知类型的话,还硬要使用泛类型,可以考虑在父类型中
if(t instanceof T1){
...
}else if(t instanceof T2){
...
}else ...
不过这么做的话,你可得考虑清楚instance是啥意思,在这里栽跟头也是常见的
你在CLASS里设个OBJECT静态变量,在CLASS创建的时候将它赋值为T。然后再构造函数里判断这个静态变量是否属于INTEGER类型就OK了。