zoukankan      html  css  js  c++  java
  • ________________Java代理

    我是自己理解的,可能会有好多问题。

    一  、

    //创建一个需要实现display功能的 接口
    package com.chinasoft.proxy;
    public interface 功能接口 {
    void display();
    }

    二、

    //实现类实现display的方法
    package com.chinasoft.proxy;
    public class 实现功能 implements 功能接口 {
    @Override
    public void display() {
    // TODO Auto-generated method stub
    System.out.println("啦啦啦___这就是爱___啦啦啦");
    }
    }

    三、

    //代理功能 
    package com.chinasoft.proxy;
    import java.lang.reflect.InvocationHandler;
    import java.lang.reflect.Method;
    import java.lang.reflect.Proxy;
    import java.util.logging.LogManager;

    public class 代理功能 implements InvocationHandler {
    private Object target;

    public 代理功能(Object target) {
    super();
    this.target = target;
    }

    public Object getproxy(Class<?> c) {
    return Proxy.newProxyInstance(c.getClassLoader(), target.getClass().getInterfaces(), this);

    }

    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    // TODO Auto-generated method stub

    System.out.println("------------------before------------------");
    Object result=method.invoke(target, args);
    System.out.println("-------------------after------------------");

    return result;
    }

    }

    四、

    //测试
    package com.chinasoft.proxy;

    public class TestIV {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    实现功能 i = new 实现功能();//创建功能的实例
    代理功能 iv = new 代理功能(i);// 实例化InvocationHandler
    功能接口 proxy = (功能接口) iv.getproxy(功能接口.class);//实例化代理
    proxy.display();
    }

    }

     

    五、//测试结果

    ------------------before------------------
    啦啦啦___这就是爱___啦啦啦
    -------------------after------------------

     

  • 相关阅读:
    vue2.0实践的一些细节
    数据库之一
    angularJS实用的开发技巧
    移动端开发的一些技巧总结(2)
    vue入门学习(基础篇)
    JS继承之原型继承
    css3动画
    使用 xlsx 前端解析 excel 文件
    webpack4 打包 library 遇到的坑
    roc-charts 开发笔记:JS广度优先查找无向无权图两点间最短路径
  • 原文地址:https://www.cnblogs.com/qiqisx/p/7773792.html
Copyright © 2011-2022 走看看