这段代码报错是因为Class\.forName方法需要传入的是类的全限定名,而不是文件路径\。你可以尝试将Class\.forName的参数改为类的全限定名,例如Usera\.User\。\n\n另外,你可能还需要注意以下几点:\n1. 确保你的类路径中包含了Usera\.User类的编译后的字节码文件\。\n2. 确保Usera\.User类的构造函数、方法和参数都是存在的,否则会抛出NoSuchMethodException异常\。\n3. 确保Usera\.User类的方法访问修饰符为public,否则会抛出IllegalAccessException异常\。\n\n修改后的代码示例:\njava\n@Test\npublic void tesInvoke()throws Exception{\n Class<?> c2 = Class\.forName("Usera\.User");\n Constructor<?> dc = c2\.getDeclaredConstructor();\n Object obj=dc\.newInstance();\n Method setName = c2\.getMethod("setName", String\.class);\n Object obj1=setName\.invoke(obj,"ada");\n System\.out\.println(obj1);\n Method getName = c2\.getMethod("getName");\n Object obj2=getName\.invoke(obj);\n System\.out\.println("obj2=" + obj2);\n\n Method aged = c2\.getMethod("aged", int\.class, double\.class);\n Object obj3=aged\.invoke(obj,1,19);\n System\.out\.println(obj3);\n}\n

Java Class.forName() 错误:java.lang.ClassNotFoundException 解决方法

原文地址: https://www.cveoy.top/t/topic/qb0l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录