new 和Class.forName()有什么区别?

class.forName()方法是java提供的手动加载类的接口之一,其作用就是初始化参数指定的类,并且返回此类对应的Class实例。

new 和Class.forName()有什么区别?

首先,newInstance( )是一个方法,而new是一个关键字;

其次,Class下的newInstance()的使用有局限,因为它生成对象只能调用无参的构造函数,而使用 new关键字生成对象没有这个限制。

从JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用newInstance()方法的时候,就必须保证:

1、这个类已经加载;

2、这个类已经连接了。

猜你喜欢

转载自guwq2014.iteye.com/blog/2392997