java中的反射机制中invoke典型用法
java中的反射机制通过invoke方法来实现,这中间主要是是通过一下几个函数实现的
Class.forName ("类名")
Class.forName ("类名").newInstance
Class.getMethod ("调用的方法名",class[]{参数类列表})
instance.getClass
Method.invoke ("对象名","参数封装成的对象")
具体怎么实现,让我们来看一个简单的例子:
Class InvokeTest{
private static String algorithm = "Algorithm";
Object invokeMethod(object instance,String fun, Class[] paras, Object[] paraValue){
Object result = null;
Method method;
try{
method = instance.getClass.getMethod(fun, paras);
result = method.invoke(instance, paraValue);
}catch(Exception e) {
e.printStackTrace();
result = null;
}
}
public static void main(){
int x= 10,y=20;
invokeMethod(Class.forName(algorithm),newInstance,"add", Class[] {Class.int,Class.int},
Object[] { new Integer(x), new Integer(y)})
}
}
Class Algorithm{
public int add(int a,int b){
return a+b;
}
}
上面代码简洁地说明了invoke的使用,至于原理,这部分并不累述。
相关文档:
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
package io;
import java.io.*;
/**
* @author 高枕吴忧
* 利用缓冲区原理,BufferedInputStream,
* 实现的文件字节流读取功能示范
*
*/
public class BufferedInOutputStream {
public BufferedInOutputStream() {
ioTest2();
}
public void ioTest2() {
FileInputStream in = null ;
Buffered ......
Java技术,在网络管理系统中的应用已经比较普遍。网管软件的分类有很多种,有侧重于业务应用的,有侧重于管理设备的,有侧重于网络的,有侧重于桌面管
理的,每种网管软件虽然外在的具体表现形式都不同,但其实内部的技术都大同小异。这其中的设备网管软件就是一个最典型的技术代表,一个全面的设备网管软件
基本上要包含 ......
前一段做个程序,遇到了这样一个问题,想利用相对路径删掉一个文件(实际存在的),老是删不掉. 真是急人呀,最后让我费了好大力气才算把它解决掉,问题不防跟大家说说,万一遇到这样的问题,就不用再费劲了!
情况是这样的:我的Tomcat装在了c盘,而我的虚拟目录设在了E ......