Java中new和Class.forName的区别

 公司新闻     |      2019-09-03 18:29

结论:
new = class.forname.newinstance;


new是关键字,直接创建对象。
class.forname是一个方法,要求jvm查找并加载指定的类,类装载到虚拟机上之后,静态方法和静态块中的处理被执行。
这时候还没有创建对象。newinstance是创建对象。



我们最常用的jdbc, 经常会用class.forname来加载数据库驱动。

jdbc接口中,会存在各种数据库的驱动,不在在接口中写死,一般都写在配置文件里,
所以需要我们调用的时候通过class.forname来加载驱动。这时候不需要创建对象,所有没有调用newinstance。