Java反射

 

例如现在有个Person

import java.io.Serializable;

public class Person implements Serializable{
    private static final long serialVersionUID = 1L;
    String name;
    int age;
    boolean sex;//true means male  false means female
    Person(String name,int age,boolean sex)
    {
        this.name=name;
        this.age=age;
        this.sex=sex;
    }
    void eat()
    {
        System.out.println(name+"吃饱了");
    }
    void smile()
    {
        System.out.println(name+"笑了");
    }
    void introduce()
    {
        System.out.println("我的资料如下");
        System.out.println("姓名:"+name);
        System.out.println("年纪:"+age);
        System.out.println("性别:"+sex);
    }
}

正向建立对象使用Person person=new Person();

通过类名反射建立对象    Class.forName("Person").newInstance();

调用方法使用person.eat();

通过方法名反射调用 person.getClass().getMethod("eat").invoke(person);

 

 

posted @ 2019-02-01 17:29  HumorChen99  阅读(135)  评论(0编辑  收藏  举报