Java中new和Class.forName的区别

Posted happybeibei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中new和Class.forName的区别相关的知识,希望对你有一定的参考价值。

结论:
New = Class.forName("pacage.A").newInstance();

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

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

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

 

以上是关于Java中new和Class.forName的区别的主要内容,如果未能解决你的问题,请参考以下文章

Class.forName()用法及与new区别 详解

java反射

JAVA中加new和不加new的区别

java中import和class.forName的区别

java中new关键字和newInstance()方法的区别

java反射中,Class.forName和classloader的区别(代码说话)