JAVA反射机制的简单应用
开发的时候有时候会碰到这样的情况,我们在写程序的时候并不知道需要调用某个对象的哪个方法,只有程序运行后,我们才能够知道。或许我们需要根据客户端传过来的某个String参数的值来判断我们应该执行哪个方法。在这种情况下JAVA的反射执行就可以帮上忙了。下面是我做的一个简单的测试代码,提供给大家做个参考。
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class TestRef{
public static void main(String[] args){
TestBean test = new TestBean();
Method[] methods = test.getClass().getMethods();
test.setAbc("---");
for(int i=0;i<methods.length;i++){
if(methods[i].getName().equalsIgnoreCase("getabc")){
try {
System.out.println(methods[i].invoke(test));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
}
from:http://www.blogjava.net/dong/archive/2008/06/05/206083.html
相关文档:
在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......
Java开发平台的种类很多,在这篇文章中我主要以J2SE为例子。J2SE几乎是开发所有Java应用程序的必备。它主要是由一个compiler(编译器),一个运行环境(runtime environment),和一个核心的API所构成。我们要再次要强调的是,您所编写应用程序并不是直接在您的本地操作系统上执行的 ......
JAVA Socket超时浅析
套接字或插座(socket)是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。针对一个特定的连接,每台机器上都有一个“套接字”,可以想象它们之间有一条虚拟的“线缆”。JAVA有两个基于数据流的套接字类:ServerSocket,服务器用它“侦听&rdquo ......
昨天睡得太晚,严重影响了今天的学习,实在是得不偿失!
关于java的基础知识还有二十天就要结束了,现在我们已经开始做一些小的练习,发现自己的思路有时候跟不上,
真上火!
学而实习之,不能丢了西瓜捡芝麻,上课要紧跟老师节奏,不能自己做自己的,老师讲老师的!
调整心态,用好的学习方法方能事半功倍;
JDBC(Ja ......