tws mirror java开发环境变量 云计算架构 ssl menu vue使用教程 vue开发文档 vue安装教程 管理后台模板 后台模板下载 后台界面 找公司做网站 jquery选择器找子元素 jquery使用ajax sublime分屏快捷键 查看oracle连接数 oracle查询数据库 python安装教程 python分析 python等待10秒 python的lambda函数 filejava javaforeach java类和对象 java数组扩容 javaenum java循环list linux入门 linux下载安装 金山wps2003 嵌入式linux驱动程序设计从入门到精通 eml文件阅读器下载 自动回复机器人 骰子表情 iar下载 小洛快跑 微信猜拳 苍灵世界 ios12录屏 拍照姿势的摆法女
当前位置: 首页 > 学习教程  > 编程语言

JDK代理模式

2020/12/5 9:40:12 文章标签:

简介 代理模式是为对象提供一个代理以增强对象内的方法。 例:你需要购买一套房子,需要自己去找房子看位置、谈价格一系列的事情。有了中介,我们只需要交钱入住。 JDK动态代理 public interface BuyHouse{void buyHouse(); } public clas…

简介

代理模式是为对象提供一个代理以增强对象内的方法。

例:你需要购买一套房子,需要自己去找房子看位置、谈价格一系列的事情。有了中介,我们只需要交钱入住。

JDK动态代理

public interface BuyHouse{
    void buyHouse();
}
public class BuyHouseImpl implements BuyHouse{
    public void buyHouse(){
        System.out.println("买房子");
    }
}  

代理类

public class ProxyJDK implements InvocationHandler {

    private Object object;

    public ProxyJDK(Object object){
        this.object = object;
    }

    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("代理前要做的事情");
        Object result = method.invoke(object,args);
        System.out.println("代理后要做的事情");
        return result;
    }
}

 

    public static void main(String[] args) throws SQLException {
        BuyHouse buyHouse = new BuyHouseImpl();
        ProxyJDK proxy = new ProxyJDK(buyHouse);
        buyHouse = (BuyHouse)     Proxy.newProxyInstance(buyHouse.getClass().getClassLoader(),buyHouse.getClass().getInterfaces(),proxy);
        buyHouse.buyHouse();

    }

 


本文链接: http://www.dtmao.cc/news_show_450051.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?