接口:
- packagecom.test;
- publicinterfaceFruit{
- }
一个实现类:
- packagecom.test;
- publicclassAppleimplementsFruit{
- }
基本测试类:
- packagecom.test;
- importjava.util.ArrayList;
- importjava.util.List;
- publicclassTestName{
- publicstaticvoidmain(String[]args){
- Fruitapple=newApple();
- System.out.println(apple.getClass().getCanonicalName());//返回com.test.Apple
- System.out.println(apple.getClass().getSimpleName());//Apple
- System.out.println(apple.getClass().getName());//返回com.test.Apple
- Apple[]arrApple=newApple[]{};
- System.out.println(arrApple.getClass().getCanonicalName());//返回com.test.Apple[]
- System.out.println(arrApple.getClass().getSimpleName());//返回Apple[]
- System.out.println(arrApple.getClass().getName());//返回[Lcom.test.Apple;
- System.out.println(String.class.getCanonicalName());//返回java.lang.String
- System.out.println(String.class.getSimpleName());//返回String
- System.out.println(String.class.getName());//返回java.lang.String
- System.out.println(int.class.getCanonicalName());//返回int
- System.out.println(int.class.getSimpleName());//返回int
- System.out.println(int.class.getName());//返回int
- Applea1=newApple();
- Applea2=newApple();
- List<Apple>appleList=newArrayList<Apple>();
- appleList.add(a1);
- appleList.add(a2);
- System.out.println(appleList.getClass().getCanonicalName());//返回java.util.ArrayList
- System.out.println(appleList.getClass().getSimpleName());//返回ArrayList
- System.out.println(appleList.getClass().getName());//返回java.util.ArrayList
- }
- }
实际应用: hql的泛型查询
- public<T>List<T>getRecords(Class<T>c,DatestartDate,DateendDate){
- StringBuilderhql=newStringBuilder("selecttfrom");
- hql.append(c.getCanonicalName());
- hql.append("twheret.statTime>=:startTimeandt.statTime<:endTime");
- Queryquery=sessionFactory.getCurrentSession().createQuery(hql.toString());
- query.setParameter("startTime",startDate);
- query.setParameter("endTime",endDate);
- returnquery.list();
- }
- }