通过Java反射调用方法
2008-01-28 19:11
615 查看
通过Java反射调用方法
这是个测试用的例子,通过反射调用对象的方法。
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信息!
Process finished with exit code 0
本文出自 “熔 岩” 博客,请务必保留此出处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信息!
Process finished with exit code 0
本文出自 “熔 岩” 博客,请务必保留此出处http://lavasoft.blog.51cto.com/62575/61002
相关文章推荐
- 通过Java反射调用方法
- 通过Java反射调用方法
- java通过反射调用类的private方法.
- Java 通过反射机制动态调用java类方法
- 通过Java反射调用方法
- Java--通过Java反射调用方法
- Java通过反射实现方法调用
- java基础之反射-通过反射调用某个属性的setter和getter方法
- java通过字符串调用方法,java反射应用实例
- 有关java通过反射机制调用类中自有方法的问题
- Java_通过反射调用类中的方法
- java通过反射 寻找配置文件 调用方法
- 黑马程序员java高新技术篇----通过反射调用main方法
- 通过JAVA的反射调用类中的公有私有方法
- 通过java反射调用远程方法
- Java 动态的创建注入代码,注入方法给类或者接口并通过反射调用
- Java反射:通过父类对象调用子类方法
- Java - 如何通过反射调用对象的方法?
- Java中通过反射调用其他类中的main方法时要注意的问题
- java 通过反射获取调用类方法及属性