JAVA_代理_动态代理|JAVA_代理_动态代理 (jdk代理)
通过动态代理,可以动态的在内容中构建代理对象(在程序运行时运用反射机制动态创建)
使用动态代理,要求目标对象必须实现了接口
【JAVA_代理_动态代理|JAVA_代理_动态代理 (jdk代理)】1)定义接口
2)目标对象类实现接口
3)代理对象类实现InvocationHandler接口
public class XXX implements InvocationHandler{//目标对象
private Object target;
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
// TODO Auto-generated method stubString name = method.getName();
if(name.equals("xianglong18")){
//调用目标对象方法
Object ret = method.invoke(this.target, args);
System.out.println("增加的内容");
return ret;
}else{
return method.invoke(this.target, args);
}
}//设置目标对象,返回代理对象
public Object bind(Object target){
this.target = target;
return Proxy.newProxyInstance(target.getClass().getClassLoader(), //类加载器
target.getClass().getInterfaces(), //对象接口
this);
}}
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- Java基础-高级特性-枚举实现状态机