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


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

    步骤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

  • 相关阅读:
    python 3.8获取当前时间
    .Net Core WebApi 添加Swagger和Redis缓存
    缓存一【微软自带的类库System.Web.Caching】
    rabbitMQ安装运行
    layui添加阿里巴巴图标库
    github无法访问,链接超时解决办法
    Layui + zTree注意事项
    EFCore CodeFirst需要引用的包
    python练习题【杭州多测师】【杭州多测师_王sir】
    mysql数据库题目【多测师_王sir】【杭州多测师】
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615435.html
Copyright © 2020-2023  润新知