请看一下:
源码:
- Java code
package Ttest;import java.lang.reflect.Field;import Commen.Tstring;;public class Reflection_Test{ public static void main(String[] args) throws Exception { Tstring t1 = new Tstring("taotao", "good"); Field s1 = Class.forName("Tstring").getField("s1"); Field s2 = Class.forName("Tstring").getField("s2"); System.out.println(s1.get(t1)); System.out.println(s2.get(t1)); }}
错误信息:
Exception in thread "main" java.lang.ClassNotFoundException: Tstring
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at Ttest.Reflection_Test.main(Reflection_Test.java:8)
昨天用eclipse的时候也是这样,一个简单小程序都报找不到类。重启eclipse重新建立工程后可以运行了。
想请教下这种情况是classPath的问题么?求解决 。
------解决方案--------------------
CLEAN 下你的项目 重新编译下~·
------解决方案--------------------
你试试改成下面的代码能不能行
- Java code
package Ttest;import java.lang.reflect.Field;import Commen.Tstring;public class Reflection_Test{ public static void main(String[] args) throws Exception { Tstring t1 = new Tstring("taotao", "good"); Field s1 = Class.forName("Commen.Tstring").getField("s1"); Field s2 = Class.forName("Commen.Tstring").getField("s2"); System.out.println(s1.get(t1)); System.out.println(s2.get(t1)); }}