gpt4 book ai didi

Class.forName() 重载版本的 Java 用例

转载 作者:行者123 更新时间:2023-12-01 15:20:11 26 4
gpt4 key购买 nike

Class.forName()的重载版本有什么用?

public static Class<?> forName(String name,
boolean initialize,
ClassLoader loader)
throws ClassNotFoundException

任何人都可以举一个首选使用的示例吗?

编辑:

引用下面的代码。

Class  clz=(Class)Class.forName("com.test.classloader.MyClass", false, Thread.currentThread().getContextClassLoader());

MyClass mc=(MyClass) clz.newInstance();
System.out.println(mc.TEST);
System.out.println(mc.i);

我的类(class):

public class MyClass {

static String TEST="MYCLASS";
static int i;
static{
i=20;
}

}

为什么打印

我的类(class)

20

最佳答案

如果您想使用特定的ClassLoader(通过loader 参数传递)加载Class,则可以使用此方法。

此外,initialize boolean 值将说明您是否希望初始化该类。

非常简单。

关于Class.forName() 重载版本的 Java 用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11046500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com