首页 > 编程语言 > 详细

Java记录 -86- Reflection API的使用示例进阶2

时间:2015-11-24 18:42:47      阅读:247      评论:0      收藏:0      [点我收藏+]

获取指定类下的信息:所有方法和属性

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!