.class,Class.forName()和.getClass()的区别

来源:2-1 Class类及对象实例化

mahsiaoko

2021-01-16 23:10:32

如题,这三个有什么区别

写回答

1回答

好帮手慕小脸

2021-01-17

同学你好,

Class.class用来返回 Class 对象。

Class.forName()是反射机制的一种,用于获取指定的Class对象。

getClass()方法是获取该对象的class(类),可以通过返回的Class对象获取类的相关信息

区别如下:

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

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

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

祝学习愉快~

0

0 学习 · 16556 问题

查看课程