public void showType(){
System.out.println(T.getClass().getName());}
这个T是泛型,这直接用是不能的,它只能用于类声明(你的例子),类变量声明,方法声明和参数声明。
其实只用getClass()就够了
完善下你的类如下
class A
T tt;
A(T t){
this.tt = t;
}
public void showType(){
System.out.println(t.getClass().getName());
}
public static void main(String args[]){
A a1 = new A(new B());
a1.showType(); // 这里打印出T(或者tt)的类型是B
A
a2.showType(); // 这里打印出T(或者tt)的类型是C
}
}
类型应该是一种消息信息,
通常你-编程者知道是B或C,能逻辑判断就够了。不一定非要打印或显示出来的。
如果要打印,还可以
public void showType(){
System.out.println(T.getClass().getName());}