java ---Proxy

1、什么是代理模式

     代理模式相当为一种对象或者类提供一个中间的访问者,如果一个用户不想访问或者不能直接引用某个对象。那么代理就会为我们做很多处理。

2、代理对象所需的角色:

    接口: 代理模式是实现了JAVA中的多态。

下面我用JAVA为大家进行比较详细的介绍:

package cn.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

  //1:实现代理执行句柄
public class Myproxy implements InvocationHandler {
 // 2、必须要实现invoke方法,只要是执行代理类上的任意方法(不包含getClass)
 // 就会先执行这个方法
 @Override
 public Object invoke(Object proxy, Method method, Object[] args)
   throws Throwable {
  Object returnValue = null;
  returnValue = method.invoke(src, args);
  return returnValue; }

 // 3、声明被代理的对象
 private Object src;

 // 4、在构造器方法里面接收这个对象
 public Myproxy(Object object) {
  this.src = object;
 }

 // 5、开发一个静态的方法返回这个被代理的对象的代理
 public static Object getMyproxy(Object object) {
  // 6、创建代理对象

参数:Myproxy.class.getClassLoader(),类装载器装载机的代理

object.getClass()类的接口。多态

代理的对象必须实现 InvocationHandler这个接口的方法

  Object proxyobj = Proxy.newProxyInstance(
    Myproxy.class.getClassLoader(), object.getClass()
      .getInterfaces(), new Myproxy(object));

  return proxyobj;

 }
}

看到上面的代码相信大家也多多少少明白些。实现动态代理应该实现接口。

转载于:https://my.oschina.net/u/2324558/blog/387736

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值