欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中new和Class.forName的区别

程序员文章站 2022-07-11 16:36:19
结论:New = Class.forName("pacage.A").newInstance(); new是关键字,直接创建对象。Class.forName()是一个方法,要求JVM查找并加载指定的类,类装载到虚拟机上之后,静态方法和静态块中的处理被执行。这时候还没有创建对象。newInstance ......

结论:
new = class.forname("pacage.a").newinstance();

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

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

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