通过Java反射调用方法的实例,通过这个例子,能明白怎么用反射。
2012-08-31 17:14
796 查看
转自 /article/4231472.html
通过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
通过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
相关文章推荐
- java中Property类配置文件,反射创建实例并调用这个类的方法
- java通过字符串调用方法,java反射应用实例
- java通过反射Class实例调用对象方法
- Java通过反射实现方法调用
- java 通过子类怎么调用父类已经被重写的方法
- 通过Java反射调用方法
- Java 反射调用静态方法的简单实例
- java通过反射调用方法
- 通过Java反射调用方法
- Java 动态的创建注入代码,注入方法给类或者接口并通过反射调用
- java 和 JavaScript都可以在创建一个对象时,就可以通过这个对象调用相应方法
- 通过反射动态调用类的静态方法和实例方法
- java通过反射调用不同参数的方法
- Java反射特性--获取其他类实例并调用其方法
- [No000085]C#反射Demo,通过类名(String)创建类实例,通过方法名(String)调用方法
- Java反射:通过父类对象调用子类方法
- 通过Java反射调用方法 http://blog.csdn.net/ichsonx/article/details/9108173
- Android-本地方法与Java相互调用-自定义ProgressBar(锅炉压力监测例子)/NDK-JNI开发实例(七)
- 通过Java反射调用方法
- 通过Java反射调用方法