Java中new关键字和newInstance方法的区别分享
作者:
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法一个是关键字外,最主要的区别是创建对象的方式不同
newInstance()使用类加载机制,new是创建一个新类。
从JVM角度看,使用new创建一个类的时候,这个类可以没有被加载。但是使用newInstance()方法的时候,就必须保证这个类已加载且类已经连接了。
复制代码 代码如下:
String className="test";
Class c=Class.forName(className);
factory=(ExampleInterface)c.newInstance();
newInstance():若类型。低效率,只能调用无参构造方法,适用于工厂模式;
new:强类型。相对高效。能调用任何public构造方法