1 Class类实例化
2 反射实例化对象
当拿到一个类的时候,我们习惯上是通过New关键字来实例化对象,但是有了Class对象,我们就可以利用反射来实例化对象。
为什么一个new就可以解决的问题,我们要用两行代码来实例化对象呢?
在任何 的开发中,new是造成耦合的最大元凶。
这是工厂类的基本实现,如果我每次增加People的子类,那么我们对应的工厂类就要做出对应的修改,因为工厂类的实例化对象通过new关键字来实体化的。
利用反射对上面的代码进行修改:
3 使用反射调用构造方法
4 反射调用方法
5 反射调用成员
6 总结
反射的出现打破了类的封装,为我们实例化对象提供了第三种方式(另两种是:new与克隆)
java的反射机制就是增加程序的灵活性,避免将程序写死到代码里,增加程序的灵活性,JAVA很多的框架都利用了反射来实现,比如JAVA中常用使用的SSH框架或者SSM框架都利用了反射的机制。