Class对象

1.类、枚举、接口、注解、数组类型、原生类型的名称.class 示例: [crayon-6285…

1.类、枚举、接口、注解、数组类型、原生类型的名称.class
示例:

2.对象.getClass()
由于原生类型不是对象,所以无法使用getClass(),其他类型都是支持的。
示例

3.使用Class.forName
Class.forName方法有两个:
1.forName(String name)
2.forName(String name, boolean initialize,ClassLoader loader)

forName(String name)其实调用的是forName(String name,boolean initialize,ClassLoader loader)

boolean initialize参数很关键,如果为true,类会被初始化,静态变量会赋上初始值,静态代码块会被执行,如果为false则不会被初始化。

Class.forName仍然不支持原生类型,但其他类型都是支持的。

示例:

4.使用ClassLoader.loadClass
此方法也能加载类,效果同Class.forName(className, false, ClassLoader.getCallerClassLoader()),不会初始化类。
但ClassLoader.loadClass跟Class.forName相比,ClassLoader.loadClass不能对数组类型使用。
除了原生类型和数组类型,其他类型都是支持的。
示例:

本文来自网络,不代表软粉网立场,转载请注明出处:https://www.rfff.net/p/3208.html

作者: HUI

发表评论

您的电子邮箱地址不会被公开。

返回顶部