zoukankan      html  css  js  c++  java
  • 反射机制系列教材 (四)- 调用方法

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

    步骤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++ string学习
    二叉树的前序遍历
    My Solution to Lowest Common Ancestor of a Binary Tree Part I(TopDown Approach)
    求二叉树节点总数
    二叉树的中序遍历
    轻松搞定面试中的二叉树题目
    VS2005 CrystalReport开发Web应用
    ASP.NET 2.0移动开发入门之使用模拟器
    [原创]Ajax UpLoadFile 多个大文件上传控件,已更新。
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615435.html
Copyright © 2011-2022 走看看