package com.helloweenvsfei.forum.dao;import java.util.List;import org.hibernate.Query;public interface IDao<T> { public T find(Class<T> clazz, int id); public void create(T baseBean); public void save(T baseBean); public void delete(T baseBean);

public List<T> list(String hql); public int getTotalCount(String hql, Object... params); public List<T> list(String hql, int firstResult, int maxSize,
Object... params); public Query createQuery(String hql);
}
接口第一个方法中的public T find(Class<T> clazz, int id);的T和Class<T>有什么区别?为什么下面其他的方法的参数列表的类型是T,而第一个方法的参数类型是Class<T>?