💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
> 通过反射机制,调用一个对象的方法 # 调用方法 首先为Hero的name属性,增加setter和getter 通过反射机制调用Hero的setName 实体类: ``` package charactor; public class Hero2 { 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 Hero2() { } public Hero2(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(Hero2 h2) { System.out.println(this.name + " 正在攻击 " + h2.getName()); } } ``` 测试类: ``` package com.dodoke.reflection; import java.lang.reflect.Method; import charactor.Hero2; public class TestReflection5 { public static void main(String[] args) { Hero2 h = new Hero2(); try { // 获取这个名字叫做setName,参数类型是String的方法 Method m = h.getClass().getMethod("setName", String.class); // 对h对象,调用这个方法 m.invoke(h, "盖伦"); // 使用传统的方式,调用getName方法 System.out.println(h.getName()); } catch (Exception e) { e.printStackTrace(); } } } ```