5、静态代理模式

5、静态代理模式

/** * 1、真实对象和代理对象实现同一个接口; * 2、代理对象,代理真实角色; */public class StaticProxy {    public static void main(String[] args) {        //真实结婚对象        Person person = new Person();        person.HappyMarry();        //通过代理角色调用,WeddingCompany 的构造方法有参数        WeddingCompany weddingCompany = new WeddingCompany(person);        weddingCompany.HappyMarry();        System.out.println("*****************************");        new WeddingCompany(new Person()).HappyMarry();    }}interface Marry{    void HappyMarry();}//真实角色class Person implements Marry{    @Override    public void HappyMarry() {        System.out.println("准结婚了");    }}//代理角色,》真实目标角色class WeddingCompany implements Marry{    //准备结婚的人    private Marry target;    //构造方法,Alt+insert, 有参数    public WeddingCompany(Marry target) {        //真实对象        this.target = target;    }    @Override    public void HappyMarry() {        befor();        this.target.HappyMarry();        after();    }    public void befor(){        System.out.println("准备婚礼现场");    }    public void after(){        System.out.println("缴纳婚庆尾款");    }}

Original: https://www.cnblogs.com/tfqfdr/p/16463944.html
Author: 颓废且努力奋斗的人
Title: 5、静态代理模式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/588489/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Git基础学习

    Git 版本控制 版本控制的作用 常用的版本控制工具 版本控制分类 本地版本控制RCS 集中版本控制SVN 分布式版本控制Git Git历史 Git环境配置 Git配置 设置用户名…

    Java 2023年6月16日
    0107
  • SpringBoot整合Elasticsearch+ik分词器+kibana

    话不多说直接开整 首先是版本对应,SpringBoot和ES之间的版本必须要按照官方给的对照表进行安装,最新版本对照表如下: (官网链接:https://docs.spring.i…

    Java 2023年6月5日
    0127
  • 客观的聊一聊,裁员这件糟心事

    时间在走,环境在变,互联网有点卷不动了; 捋一捋最近互联网上关于职场的热点:裁员,优化,毕业,向社会输送人才,求职;你方唱罢他方登场,持续横跳热搜; 年初到现在五月底,身边已经有好…

    Java 2023年6月15日
    095
  • 每天代码量多少正常?

    关于程序员每天代码量的讨论,众说纷纭。我个人觉得需要根据具体情况而定。 如果你刚实习,或刚步入工作不久,上司一般都会交给你一些简单的功能实现,这时候一般都含有大量简单而重复或者说类…

    Java 2023年6月13日
    092
  • 4-异常处理

    一、异常体系结构 1.结构 java.lang.Throwable java.lang.Error:一般不编写针对性的代码进行处理。 java.lang.Exception:可以进…

    Java 2023年6月7日
    073
  • idea警告 breakpoints dramatically slow down

    idea启动项目提示的黄色警告 , 其实就是有地方断点之后 , 影响项目运行速 打开断点管理 , 查看具体是哪个影响了 , 断点不需要了及时取消 Original: https:/…

    Java 2023年6月15日
    062
  • C++基础-类与对象(1)

    C++类与对象(1) 类的设计:可以把属性和行为放在不同的权限下 struct和class区别在于某人的访问权限不同 struct:默认共有 class:默认私有 对象的初始化和清…

    Java 2023年6月5日
    073
  • 第一个java,Hello,world!

    环境部署 下载安装JDK1.8 配置环境变量 JAVA_HOME变量 Path添加%JAVA_HOME%\bin %JAVA_HOME%\jre\bin 打开CMD,输入java …

    Java 2023年6月9日
    072
  • MySQL八:读懂MVCC多版本并发控制

    转载~ mysql在并发的情况下,会引起脏读,幻读,不可重复读等一系列的问题,为解决这些问题,引入了mvcc的机制。本文就详细看看mvcc是怎么解决脏读,幻读等问题的。 1、 数据…

    Java 2023年6月8日
    085
  • 二、冯·诺依曼结构与快捷键的使用

    一、冯·诺依曼结构 二、快捷键的使用 Ctrl+A:全选Ctrl+C:复制Ctrl+V:粘贴Ctrl+X:剪切Ctrl+Z:撤销Ctrl+S:保存Alt+F4:关闭窗口Shift+…

    Java 2023年6月5日
    076
  • Java8新特性1:接口中方法

    回顾之前《JavaSE-23.2》:https://www.cnblogs.com/yppah/p/14874992.htmlhttps://www.cnblogs.com/ypp…

    Java 2023年6月5日
    0105
  • 使用Visual Studio Code开发和调试Java Burp扩展

    几天前,我发布了Bug Diaries Burp扩展。这是一个Burp扩展程序,使社区(免费)版 Burp 拥有相似的issue功能 。由于某些原因,现在决定用Java重写。这是我…

    Java 2023年5月29日
    094
  • Java 并发编程

    基础知识 1. 为什么要使用并发编程 提升多核CPU的利用率:一般来说一台主机上的会有多个CPU核心,我们可以创建多个线程,理论 上讲操作系统可以将多个线程分配给不同的CPU去执行…

    Java 2023年6月9日
    0171
  • Java并发编程艺术系列-二、Java并发机制底层原理

    二、Java并发机制底层原理 volatile synchronized 原子操作 2.1 volatile原理与应用 2.1.1 特点 轻量级的 synchronized 共享变…

    Java 2023年6月9日
    0107
  • Linux入门操作介绍

    Linux 是由unix衍生而来(小知识:mac也是使用unix核心),由全世界的程序员一起开发的开源系统。如今基于linux已经有了很多版本,我们后面使用的就是衍生版本之一的Ub…

    Java 2023年6月14日
    0109
  • nginx防止浏览器自动打开下载的文件

    add_header Content-Disposition "attachment;"; 举例:#所有文件都不打开 location / { add_head…

    Java 2023年5月30日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球