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


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

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

  • 相关阅读:
    【转】CentOS7安装iptables防火墙
    CentOS7使用firewalld打开关闭防火墙与端口
    CentOS7永久更改主机名
    CentOS7下安装GUI图形界面
    sql server2008 r2 密钥
    Response.Flush和Response.BufferOutput
    Asp.net使用JQuery实现评论的无刷新分页及分段延迟加载效果
    总结一下使用Emgucv的经验和经历
    c# 鼠标拖动缩放图片
    c# winfrom 在panel上绘制矩形
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615435.html
Copyright © 2020-2023  润新知