Java中new和Class.forName的区别
程序员文章站
2022-03-22 18:59:16
结论: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()。
推荐阅读
-
java中timer的schedule和scheduleAtFixedRate方法区别详解
-
java 抽象类和接口的区别详细解析
-
Java中finally和return的关系实例解析
-
java中String与StringBuilder的区别
-
Java中关于int和Integer的区别详解
-
解决Java中的强制类型转换和二进制表示问题
-
SQLserver中字符串查找功能patindex和charindex的区别
-
android中Invalidate和postInvalidate的更新view区别
-
详解HTML5中div和section以及article的区别
-
老生常谈jquery中detach()和remove()的区别