import java.lang.reflect.*;
public class Example
{
   public static void printMember(Member []obj)
   {
      for(int i=0;i<obj.length;i++)
         System.out.println(obj[i]);
   }
   public static void main(String []args)
   {
      try
      {
         
         Class c=Class.forName("Person");
         Field []field=c.getFields();
         System.out.println("Field>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
         printMember(field);
         Constructor[] constructor=c.getConstructors();
         System.out.println("Constructor>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
         printMember(constructor);
         Method []method=c.getMethods();
         System.out.println("Method>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
         printMember(method);
         
         
      }
      catch(ClassNotFoundException e)
      {
         System.out.println("ClassNotFoundException");
         System.out.println(e.getStackTrace());
      }
      
   }
}
class Person
{
   private String name;
   public int age;
    
   public Person()
   {
      name=new String("Li Li");
      age=24;
   }
   public void show()
   {
      System.out.println("name: "+name+"; age: "+age);
   }
}在程序进入class.forname()的时候,捕捉到异常,请问这个地方该怎么处理!!!

解决方案 »

  1.   

    怎么我运行没有出现异常啊?
    我调试的输出的结果是:
    Field>>>>>>>>>>>>>>>>>>>>>>>>>>>>|        15    |
    Field>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    0:public int Person.age
    Constructor>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    0:public Person()
    Method>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Method>>>>>>>>>>>>>>>>>>>>>>>>>>>>[Ljava.lang.reflect.Method;@9cab16
    0:public void Person.show()
    1:public native int java.lang.Object.hashCode()
    2:public final native java.lang.Class java.lang.Object.getClass()
    3:public final void java.lang.Object.wait() throws java.lang.InterruptedException
    4:public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
    5:public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
    6:public boolean java.lang.Object.equals(java.lang.Object)
    7:public final native void java.lang.Object.notify()
    8:public final native void java.lang.Object.notifyAll()
    9:public java.lang.String java.lang.Object.toString()
      

  2.   

    没有出现ClassNotFoundException这样的提示
      

  3.   

    我用eclispe跑的,也出现楼主所说的ClassNotFoundException
    加上包名,如Class c=Class.forName("com.xxx.Person");
    再跑就好了,我这里能跑,不知道楼主那里如何.
      

  4.   

    楼主的程序本来就是在default包中的,可以不用加包名啥。