public class TestFanXing {
public static <T> T getObjectT(Class<T> clazz) throws InstantiationException, IllegalAccessException {
return (T) clazz.newInstance();
}
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
Teacher t = TestFanXing.getObjectT(Teacher.class);
Class clazz = t.getClass();
String name = clazz.getSimpleName();
System.out.println("获取到的对象名字为:"+name);
}
}
打印效果:
获取到的对象名字为:Teacher
这样做看似没什么意义,其实很有用处。
用处:
- 想通过所传参数(参数为一个对象)做一些操作时,而不同对象的操作细节不一样,就可以通过这个方法来实现
- 一般用在利用工厂模式获取dao或者service的实例,通过工厂模式实现解耦。