abstract public class BaseHibernateEntityDao<T> extends HibernateDaoSupport {
private Class<T> entityClass;
public BaseHibernateEntityDao() {
entityClass =(Class<T>) ((ParameterizedType) getClass()
.getGenericSuperclass()).getActualTypeArguments()[0];
}
public T get(Serializable id) {
T o = (T) getHibernateTemplate().get(entityClass, id);
}
}
public class BookDao extends BaseHibernateEntityDao<Book>
[b]方法one:[/b]
public class Test2<T>
{
Class<T> clazz;
@SuppressWarnings("unchecked")
public Test2(Class<T> clazz)
{
this.clazz = clazz;
System.out.println(clazz);
}
public static void main(String[] args)
{
Test2<Integer> t = new Test2<Integer>(Integer.class);
}
}
方法TWO:
public class Father<T>
{
Class<T> clazz;
@SuppressWarnings("unchecked")
public Father()
{
clazz = (Class<T>) ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
}
public class Test1 extends Father<Integer>
{
public Test1()
{
System.out.println(clazz);
}
public static void main(String[] args)
{
Test1 t = new Test1();
}
}