import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
class MyClass 
{
//定义属性
private int m;
public int i ;
public int j ;
//定义方法
public MyClass() {}
public MyClass(int i) {}
public void f1() {}
public void f2() {}
     private void f3(){}
}
public class GetClassInfo
{
public static void main(String[] args) 
{
try 
{
System.out.println("the class name is " + Class.forName("MyClass"));  
Class c = Class.forName("MyClass");
Field f[] = c.getFields();
Method[] m = c.getMethods();
Constructor[] ctor = c.getConstructors();
              //查看所有属性
System.out.println("All fields");
for (int h = 0; h < f.length; h++)
              {
System.out.println(f[h].toString());
              }
System.out.println("All functions");
//查看所有方法
for (int i = 0; i < m.length; i++)
              {
System.out.println(m[i].toString());
              }
System.out.println("All constructors");
//查看所有的构造函数
for (int i = 0; i < ctor.length; i++)
              {
System.out.println(ctor[i].toString());
              }

catch (Exception e) 
{
e.printStackTrace();
}
}
}