灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3075回复:0

java invoke的简单实例

楼主#
更多 发布于:2012-09-08 09:45

package com.zte.test1;
import java.lang.reflect.Method;
public class main {
public Object operadata(Object obj) throws Exception {
Method[] mths = obj.getClass().getDeclaredMethods();
for (int i = 0; i < mths.length; i++) {
String str = new String(mths.toString());// 获取方法名
System.out.println(str.toString());
if (str.indexOf(".set") > 0) {
if (str.indexOf("String") > 0) {
mths.invoke(obj, "chenshaohua");
}
if (str.indexOf("int") > 0) {
mths.invoke(obj, 12);
}
}
}
return obj;
}
public static void main(String[] args) {
test t1 = new test();
main m = new main();
try {
m.operadata(t1);
System.out.println("name--->>>" + t1.getName() + " age--->>>"
+ t1.getAge());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class test {
public String name;
public int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
答应结果如下:
public int com.zte.test1.test.getAge()
public void com.zte.test1.test.setAge(int)
public java.lang.String com.zte.test1.test.getName()
public void com.zte.test1.test.setName(java.lang.String)
name--->>>chenshaohua age--->>>12


摘自 csh159的专栏


喜欢0 评分0
游客

返回顶部