反射获取对象的四种方式:
1.通过对象的getClass();
Class people = people.getClass();
2.通过类的Class属性;
Class people = People.class;
3.通过forName()方法;
Class people = Class.forName("com.xxx.People");
4.通过ClassLoader.loadClass()类加载器;
Class people = ClassLoader.loadClass("com.xxx.People");
优缺点:
优点:可以让我们的代码更加灵活,为各种框架提供便利的功能
缺点:让我们在运行时有了分析和操作类的能力,同样也增加了安全问题。比如无视泛型参数的安全检查。另外反射性能要稍微差一点,但是对于框架来说,我们不会大量的创建反射对象,影响不是很大。