gpt4 book ai didi

java - 在java中使用字符串创建类对象时出错

转载 作者:行者123 更新时间:2023-12-01 23:21:26 25 4
gpt4 key购买 nike

在创建使用 Class.forName() 的对象时,我收到以下错误。您能确认一下我哪里做错了吗?

Exception in thread "main" java.lang.ClassNotFoundException: ABC
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at RandomPrograms.ClassObjectFromString.main(ClassObjectFromString.java:32)

ClassObjectFromString.java

import java.lang.reflect.Constructor;

class ABC {
ABC() {
System.out.println("ABC called!!! ");
}
ABC(String a) {
System.out.println("ABC called : " + a);
}
}

class ClassObjectFromString {

public static void main(String[] args) throws Exception {
Class<?> clazz = Class.forName("ABC");
Constructor<?> ctor = clazz.getConstructor(String.class);
Object object = ctor.newInstance(new Object[] { "Message" });
}
}

最佳答案

public static Class<?> forName(String className)

提供所需类的完全限定名称,其中也包括您的包名称。所以我们会RandomPrograms.ABC

关于java - 在java中使用字符串创建类对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20568041/

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