91 Class.forName 实例对象.class,实例对象.getClass()的区别

Posted 暖昸网

tags:

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

其中

.getClass()是动态的,其余是静态的。

.class和class.forName()只能返回类内field的默认值,getClass可以返回当前对象中field的最新值

 Class.forName() 返回的是一个类,.newInstance() 后才创建一个对象,Class.forName()的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码块

new关键字和newInstance()方法的区别: 
newInstance: 弱类型。低效率。只能调用无参构造。 
new: 强类型。相对高效。能调用任何public构造。



以上是关于91 Class.forName 实例对象.class,实例对象.getClass()的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java反射总结

Class.forName的作用以及为什么要用它

创建对象的方式

java Class.forName 实例化对象,并调用类中相应的方法

关于用java反射调用一个类里面的方法并执行

动态加载类并实例化对象 —— newInstance