Java获取类的有关信息


Class是java.lang包中的类,该类的实例用来封装对象运行时的状态。当一个类被加载且创建对象时。和该类相关的一个类型为Class的对象就会自动创建。用这个Class对象调用一些方法可以获取类的有关信息,如类名,类中方法,成员变量名称等。

下面给一个Demo,使用了相应的Class对象列出了Rect类的全部成员变量和方法名称。

[java]
public class Rect {
double width, height, area;

public double getArea() {
area = height * width;
return area;
}
}
[/java]

[java]
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class Main {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Rect rect = new Rect();
Class cs = rect.getClass();
String className = cs.getName();
Constructor[] con = cs.getDeclaredConstructors();
Field[] field = cs.getDeclaredFields();
Method[] method = cs.getDeclaredMethods();
System.out.println("类名:"+className);
System.out.println("类中成员变量:");
for (int i = 0; i < field.length; i++) {
System.out.println(field[i].toString());
}
System.out.println("类中方法:");
for (int i = 0; i < method.length; i++) {
System.out.println(method[i].toString());
}
System.out.println("类中构造方法:");
for (int i = 0; i < con.length; i++) {
System.out.println(con[i].toString());
}
}

}

[/java]

发表评论