反射调用 java_通过Java反射调用方法

我需要解决的问题: if(Server.equals("99")){ strServerName = a.getSERVER99(); }else if(Server.equals("02")){ strServerName = a.getSERVER02(); } 能不能换个简单的方式写出来: num=99; strServerName=a.(getSERVER+num)(); http://lavasoft.blog.51cto.com/62575/61002 这是个测试用的例子,通过反射调用对象的方法。 TestRef.java import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; /** * Created by IntelliJ IDEA. * File: TestRef.java * User: leizhimin * Date: 2008-1-28 14:48:44 */ public class TestRef {     public static void main(String args[]) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {         Foo foo = new Foo("这个一个Foo对象!");         Class clazz = foo.getClass();         Method m1 = clazz.getDeclaredMethod("outInfo");         Method m2 = clazz.getDeclaredMethod("setMsg", String.class);         Method m3 = clazz.getDeclaredMethod("getMsg");         m1.invoke(foo);         m2.invoke(foo, "重新设置msg信息!");         String msg = (String) m3.invoke(foo);         System.out.println(msg);     } } class Foo {     private String msg;     public Foo(String msg) {         this.msg = msg;     }     public void setMsg(String msg) {         this.msg = msg;     }     public String getMsg() {         return msg;     }     public void outInfo() {         System.out.println("这是测试Java反射的测试类");     } } 控制台输出结果: 这是测试Java反射的测试类 重新设置msg信息!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值