博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【03】 代理的意义
阅读量:5144 次
发布时间:2019-06-13

本文共 1654 字,大约阅读时间需要 5 分钟。

Java 代理说的白话一点就是,找个代替人帮你过滤东西,其实就是找个中间人,隔绝不合理请求

  此时 需要记住几个东西 。1.接口,接口实例,实例代理

  

package xvy;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class _proxy {    public static void main(String []arg)    {        StarProxy s  = new StarProxy();        person p = s.getproxy();        p.sing("雅俗共赏");    }}interface  person{    String sing(String  name);    String dance(String name);}class Star implements person{    public String sing(String  name){        System.out.println( "Stars sing "+name  );        return " Sing Over ";    }    public String dance(String name) {        System.out.println( "Stars dance "+name  );        return " Dance  Over ";    }}class StarProxy {    private  Star aStar = new Star();    public person getproxy(){        return  (person) Proxy.newProxyInstance(                StarProxy.class.getClassLoader(),                aStar.getClass().getInterfaces(),                new InvocationHandler() {                    @Override                    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {                        if(method.getName().equals("sing"))                        {                            method.invoke(aStar,args);                        }                        else if(method.getName().equals("dance"))                        {                            method.invoke(aStar,args);                        }                        return null;                    }                }        );    }}
View Code

此时 需要注意的是 我们先找到对应的代理人,然后告诉他,我要和你代理的那个人说话,通过代理人反射任务。

转载于:https://www.cnblogs.com/corx/p/10002176.html

你可能感兴趣的文章
数学图形之Boy surface
查看>>
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
01: socket模块
查看>>
mysql触发器
查看>>
淌淌淌
查看>>
MySQL-定时任务
查看>>
web页面实现指定区域打印功能
查看>>
使用PHP拆分中文字符串的方法(收藏) 小节
查看>>
android系统权限的管理
查看>>
win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
查看>>
VMware环境和Window环境进行网络连接的问题
查看>>
macOS10.12允许所有来源设置
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
python搜索引擎(转)
查看>>
关于height,line-height导致的样式混乱的问题
查看>>
《SEO实战密码》读后一点感受
查看>>
bzoj 4815 [Cqoi2017]小Q的表格——反演+分块
查看>>
Swift 入门之简单语法(六)
查看>>
shim和polyfill有什么区别
查看>>