Java获取类的有关信息


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

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

public class Rect {
	double width, height, area;

	public double getArea() {
		area = height * width;
		return area;
	}
}
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());
		}
	}

}

发表评论