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()。
上一篇: 类与对象的绑定方法
推荐阅读