iskyshop 2010-01-24 19:17
浏览 234
已采纳

关于泛型类的注入的疑问!

首先有一个类如下:
[code="java"]public class Base {
protected Class entityClass;

public Base() {

}

public Base(Class<T> clz) {
    this.entityClass = clz;
}

}[/code]
这是一个泛型类
有一个Father类:
[code="java"]public class Father {

}[/code]
然后有一个MyBase1:
[code="java"]public class MyBase1 extends Base {

}[/code]
通过泛型类将Father注入到了MyBase1中,现在测试:
[code="java"]MyBase1 mbase=new MyBase1();
System.out.println(mbase.entityCLass);[/code]结果输入为空,这里如果在MyBase1中增加构造函数:
[code="java"]public class MyBase1 extends Base {
public MyBase1(){
super.entityClass=Father.class;
}[/code]这样才能输出结果,请问如果不增加任何构造函数如何实现能够输出System.out.println(mbase.entityCLass)的值为Father呢?而且如果使用了构造函数那么使用有什么意义!盼望高手回答!
}

  • 写回答

4条回答 默认 最新

  • CaiHuajiang 2010-01-24 20:13
    关注

    [code="java"] Type t = this.getClass().getGenericSuperclass();
    if (ParameterizedType.class.isAssignableFrom(t.getClass())) {
    for (Type t1 : ((ParameterizedType) t).getActualTypeArguments()) {
    System.out.print(t1);
    }
    }[/code]

    这个虽然短,我想对你有意义。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?