当前位置:才华咖 > 互联网计算机 > IT认证 > SUN认证 > SUN认证考试知识点:Java反射机制的应用
手机版

SUN认证考试知识点:Java反射机制的应用

来源:才华咖 阅读:3.2W 次

目标:用一个代理类实现两个相似类的调用

SUN认证考试知识点:Java反射机制的应用

1.两个相似类

Man类

Women类:

代理类:

package Reflect;

import od;

public class Person { //代理类

private Object target; //目标对象

private String methodName; //目标方法

private Object[] params; //参数数组

private Method method;

public Object getTarget() {

return target;

}

public void setTarget(Object target) {

et = target;

}

public String getMethodName() {

return methodName;

}

public void setMethodName(String methodName) {

odName = methodName;

}

public Object[] getParams() {

return params;

}

public void setParams(Object[] params) {

ms = params;

}

public Person(){

}

/**

* _重新设置目标方法

*/

private void reSetMethod(String methodName){

if(params!=null){ //目标方法有参数

int paramsLength = th;

Class[] paramsTypes = new Class[paramsLength];

for(int i=0;i

paramsTypes[i] = params[i]lass();

}

try {

method = lass()ethod(methodName,paramsTypes);

} catch (SecurityException e) {

tStackTrace();

} catch (NoSuchMethodException e) {

tStackTrace();

}

}

else //目标方法参数为null

{

try {

method = lass()ethod(methodName,null);

} catch (SecurityException e) {

tStackTrace();

} catch (NoSuchMethodException e) {

tStackTrace();

}

}

}

/**

* _重新设置目标对象和方法

*/

private void reSetTarget(Object target,String methodName){

et = target;

tMethod(methodName);

}

/**

* _动态调用已绑定方法

*/

public void doMethod() throws Exception{

reSetTarget(target,methodName);

ke(target, params);

}

}

本文链接:https://www.caihuaka.com/itrz/sun/g2wj8l.html

Copyright © 2024. 才华咖 All right reserved. 浙ICP备20120231号-3

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。