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构造方法

 

posted @ 2013-07-01 12:06  加拿大小哥哥  阅读(329)  评论(0编辑  收藏  举报