动态方法
来源:互联网 发布:发电厂软件安全 编辑:程序博客网 时间:2024/04/24 16:25
import java.lang.reflect.*;
/**
* 测试动态方法
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class dynamicMethod {
public dynamicMethod() {
}
public static void main(String[] args) {
dynamicMethod ttt = new dynamicMethod();
ttt.showme0();
try {
//Method m = ttt.getClass().getMethod("test", new Class[0]);
//m.invoke(ttt, new Object[0]);
ttt.getClass().getMethod("test", new Class[0]).invoke(ttt, new Object[0]);
String realArgs = "带有一个参数";
Class[] class1 = {
realArgs.getClass()};
Object[] object1 = {
realArgs};
ttt.getClass().getMethod("test", class1).invoke(ttt, object1);
System.out.println(ttt.getClass().getMethod("getString", new Class[0]).invoke(ttt, new Object[0]));
}
catch (Exception ex) {}
}
public void showme0() {
try {
dynamicMethod t = new dynamicMethod();
Class c = t.getClass();
Class[] cargs = new Class[2];
String[] realArgs = {"第一个参数", "第二个参数"};
cargs[0] = realArgs.getClass();
Integer in = new Integer(2);
cargs[1] = in.getClass();
Method m = c.getMethod("test", cargs);
Object[] inArgs = new Object[2];
inArgs[0] = realArgs;
inArgs[1] = in;
m.invoke(t, inArgs);
}
catch (Exception e) {
System.out.println(e);
}
}
public void showme1() {
try {
Class[] cargs = new Class[2];
String[] realArgs = {"第一个参数", "第二个参数"};
cargs[0] = realArgs.getClass();
Integer in = new Integer(2);
cargs[1] = in.getClass();
Method m = getClass().getMethod("test", cargs);
Object[] inArgs = new Object[2];
inArgs[0] = realArgs;
inArgs[1] = in;
m.invoke(this, inArgs);
}
catch (Exception e) {
System.out.println(e);
}
}
public void showme2() {
try {
Method m = this.getClass().getMethod("test", new Class[0]);
m.invoke(this, new Object[0]);
}
catch (Exception e) {
System.out.println(e);
}
}
public void test(String[] str, Integer stri) {
for (int j = 0; j < str.length; j++) {
System.out.println(str[j]);
}
System.out.println(stri.intValue());
}
public void test() {
System.out.println("没有参数的调用");
}
public void test(String strin) {
System.out.println(strin);
}
public String getString(){
String tempStr="这是取回来的字符串";
return tempStr;
}
}
- 动态方法
- 虚方法与动态方法
- 虚拟方法 对比 动态方法
- 动态调用方法实例
- C#动态方法调用
- 行转列的动态方法
- C#动态方法调用
- Java动态调用方法
- 动态曲线绘制方法
- struts2动态方法调用
- 动态库加载方法
- php动态调用方法
- c#动态方法
- c#动态方法
- linux ifconfig 动态方法
- javascript动态加载方法
- Struts2 动态方法调用
- 动态执行方法
- Web下打印办法
- 纹理滤波方式、光源:Jeff Molofee(NeHe) 的 OPENGL 教程-第七课
- 简单的透明:Jeff Molofee(NeHe) 的 OPENGL 教程-第八课
- 深入Java中文问题及最优解决方法
- VC 使用DLL
- 动态方法
- 用rsync对网站进行镜像备份
- VC# .Net中使用Crystal Report
- 嵌入式系统:后PC时代的擎天之柱
- Eclipse下搭建J2ME运行环境的初步认识
- Cisco works安装注意事项
- 用JAVA生成GIF动画
- 对Final的一点认识
- 使用tidy_win32.zip转换GB2312编码的HTML页面