反射机制系列教材 (四)- 调用方法

 

通过反射机制,调用一个对象的方法

步骤1:调用方法
步骤2:练习-调用方法
步骤3:答案-调用方法

步骤 1 : 调用方法

首先为Hero的name属性,增加setter和getter
通过反射机制调用Hero的setName

package charactor;

 

public class Hero {

    public String name;

    public float hp;

    public int damage;

    public int id;

     

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public Hero(){

         

    }

    public Hero(String string) {

        name =string;

    }

 

    @Override

    public String toString() {

        return "Hero [name=" + name + "]";

    }

    public boolean isDead() {

        // TODO Auto-generated method stub

        return false;

    }

    public void attackHero(Hero h2) {

        // TODO Auto-generated method stub

         

    }

 

}

package reflection;

 

import java.lang.reflect.Method;

 

import charactor.Hero;

 

public class TestReflection {

 

    public static void main(String[] args) {

        Hero h = new Hero();

 

        try {

            // 获取这个名字叫做setName,参数类型是String的方法

            Method m = h.getClass().getMethod("setName", String.class);

            // 对h对象,调用这个方法

            m.invoke(h, "盖伦");

            // 使用传统的方式,调用getName方法

            System.out.println(h.getName());

 

        catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

 

    }

}


更多内容,点击了解: https://how2j.cn/k/reflection/reflection-method/109.html

posted @ 2020-03-28 13:37  Lan_ht  阅读(97)  评论(0编辑  收藏  举报