获取指定类下的信息:所有方法和属性
public class DumpClassInfo { public static void main(String[] args) throws Exception{ //Reflection API的基本作用 Class<?> classtype = Class.forName("my.reflect.Customer"); Method[] methods = classtype.getDeclaredMethods(); //获取指定类下的所有方法,包含私有方法。(运行时所有方法) for(Method method : methods){ System.out.println(method); } Field[] fields = classtype.getDeclaredFields(); //获取指定类下的所有属性,包含私有属性。(运行时所有属性) for(Field field : fields){ System.out.println(field); } } } class Customer{ private long id; private String name; private int age; public Customer(){} public Customer(String name, int age){ this.name = name; this.age = age; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
以上程序输出结果:
public void my.reflect.Customer.setId(long) public int my.reflect.Customer.getAge() public void my.reflect.Customer.setAge(int) public java.lang.String my.reflect.Customer.getName() public long my.reflect.Customer.getId() public void my.reflect.Customer.setName(java.lang.String) private long my.reflect.Customer.id private java.lang.String my.reflect.Customer.name private int my.reflect.Customer.age
Java记录 -86- Reflection API的使用示例进阶2
原文地址:http://zlfwmm.blog.51cto.com/5892198/1716434