问题描述
我想问一下为什么我的这个程序会出现异常,谢谢!package com;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class TestReflection { public static void main(String args[]) throws Exception { Class test=Class.forName("Test"); Constructor con[]=test.getConstructors(); Method met[]=test.getMethods(); for(Method me:met) { System.out.print(me.toString()+"n"); } Field fie[]=test.getFields(); for(Field fe:fie) { System.out.print(fe.toString()+"n"); } }}class Test{public String name="aaaa";public int age=25; public Test(){}public void print(){System.out.print("测式打印方法");}}问题补充:首先谢谢你!但为什么我的结果是这样的?Exception in thread "main" java.lang.ClassNotFoundException: Testat 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.ClassLoader.loadClassInternal(Unknown Source)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Unknown Source)at com.TestReflection.main(TestReflection.java:10)
解决方案
Class test=Class.forName("Test");中的Test要带包名Class test=Class.forName("com.Test");
解决方案二:
哈哈,真有趣!
解决方案三:
你是不是看错了:public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedExceptionpublic final void java.lang.Object.wait() throws java.lang.InterruptedExceptionpublic final native void java.lang.Object.wait(long) throws java.lang.InterruptedException这是你打出来的三个方法的签名, 不是异常啊!