为什么框架创建对象需要用反射和newInstance而不是直接new

今天被这个问题难住了,想了几个点又查了很多资料,终于搞懂了

首先不管是接口,面向对象还是框架,他们都有一个思想就是减少相同的代码,提升他们的通用性,并提高代码的复用性和可扩展性。

你想直接new没问题,当你创建一个类的实例时,可能会创建一些你不需要的资源或者对象,就会浪费资源

反射允许你在运行时动态地创建类的实例,如果用了反射,例如你想创建什么类的对象,就用字符串传进类名,然后用newInstance()去创建它,就达到了动态创建实例的效果,实现解耦,并且相较于工厂模式,更加灵活,如果需要频繁增加新的类,工厂类的代码也要经常修改

你可能感兴趣的:(java,开发语言)