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


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

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

  • 相关阅读:
    编程实现折半法查找
    浅谈C++多态性
    纯虚函数的使用汇总
    虚函数如何实现多态 ?
    重载(overload),覆盖(override),隐藏(hide)的区别
    Qt入门之常用Qt标准对话框之QMessageBox
    Qt5学习笔记(5)——列表框QListWidget类
    python 文件的方法
    python---while循环
    python ---strip()方法,split()方法,删除字符串开头或结尾,字符串分隔
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615435.html
Copyright © 2020-2023  润新知