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构造方法
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.