1.定义一个接口

ProxyInterface.java

  1. package com.staticproxy ;
  2. public interface ProxyInterface  //就假设为 定义一个购房的接口
  3. {
  4. public void buyTest() ;//定义一个实现购房的方法规范
  5. }

2.定义一个真实角色实现了ProxyInterface接口

RealMaster.java

  1. package com.staticproxy ;
  2. public class RealMaster implements ProxyInterface //定义一个真实的主人,也就是 房主
  3. {
  4. public void buyTest()
  5. {
  6. System.out.println("实现购买房主的手续") ;
  7. }
  8. }

3.定义一个代理角色,实现了ProxyInterface接口,还持有一个 真实主人对象的引用

ProxyMaster.java

  1. package com.staticproxy ;
  2. public class ProxyMaster implements ProxyInterface //定义一个代理主人,就相当于 中介,
  3. {
  4. private RealMaster rm;//持有一个 真实主人对象的引用
  5. public void buyTest()
  6. {
  7. this.beforeTest() ; //中介 一开始 收取买主 的介绍费
  8. this.rm = new RealMaster() ;
  9. rm.buyTest() ;
  10. this.afterTest() ; // 购完房 中介要收取的费用
  11. }
  12. public void beforeTest()
  13. {
  14. System.out.println("中介 一开始 的介绍费") ;
  15. }
  16. public void afterTest()
  17. {
  18. System.out.println("购完房 中介要收取的费用") ;
  19. }
  20. }

4.客户端 Client.java

  1. package com.staticproxy ;
  2. public class Client //定义一个客户端
  3. {
  4. public static void main(String[] args)
  5. {
  6. ProxyMaster pm = new ProxyMaster() ;
  7. pm.buyTest() ;
  8. }
  9. }

Static Proxy (静态代理模式)的更多相关文章

  1. 黑马程序员:Java基础总结----静态代理模式&动态代理

    黑马程序员:Java基础总结 静态代理模式&动态代理   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public  class  Ts {   ...

  2. Java模式—静态代理模式

        静态代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问,提供“真实对象”的代表,在访问对象时引入一定程度的间接性,这种间接性可以附加多种用途. 代理模式的主要作用是为其他对象 ...

  3. 2.1多线程(java学习笔记) java中多线程的实现(附静态代理模式)

    一.多线程 首先我们要清楚程序.进程.线程的关系. 首先进程从属于程序,线程从属于进程. 程序指计算机执行操作或任务的指令集合,是一个静态的概念. 但我们实际运行程序时,并发程序因为相互制约,具有“执 ...

  4. java 多线--静态代理模式

    我们使用 java 多线程时,都需要通过线程代理对象来启动线程,常见的写法: new Thread(target).start(); 这在设计模式中叫静态代理模式,静态代理模式组成; 1.公共接口 2 ...

  5. java的线程、创建线程的 3 种方式、静态代理模式、Lambda表达式简化线程

    0.介绍 线程:多个任务同时进行,看似多任务同时进行,但实际上一个时间点上我们大脑还是只在做一件事情.程序也是如此,除非多核cpu,不然一个cpu里,在一个时间点里还是只在做一件事,不过速度很快的切换 ...

  6. JAVA笔记7__接口应用/Object类/简单工厂模式/静态代理模式/适配器模式

    /** * 接口应用 */ public class Main { public static void main(String[] args) { Person p = new Person(&qu ...

  7. 【多线程】Thread静态代理模式理解

    Thread静态代理模式理解 代码示例: /** * @Description 静态代理模式 * @Author hzx * @Date 2022-03-26 */ public class Stat ...

  8. JAVA静态代理模式(从现实生活角度理解代码原理)

    代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问. 代理模式说白了就是"真实对象"的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途. 在 ...

  9. Java设计模式—Proxy动态代理模式

    代理:设计模式 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理. 图 1. 代 ...

  10. Java代理模式——静态代理模式

    一:代理模式 代理模式的作用是:为其他对象提供一种代理以控制这个对象的访问.在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用. 二:代理模式设计 ...

随机推荐

  1. ( VIJOS )VOJ 1049 送给圣诞夜的礼品 矩阵快速幂

    https://vijos.org/p/1049   非常普通的矩阵快速幂... 但是我 第一次写忘了矩阵不能交换律... 第一二次提交RE直到看到题解才发现这道题不能用递归快速幂... 第三次提交成 ...

  2. 【次短路径/SPFA】BZOJ1726-[Usaco2006 Nov]Roadblocks第二短路

    [题目大意] 求无向图点1到n的次短路. [思路] 一年多前写过一次堆优化Dijkstra的,方法就是一边跑Dijsktra一边就把次短路径保存下来.和一般Dijkstra不同的是把vis数组去掉了, ...

  3. centos 7 源码包安装、卸载nginx

    1.源码包安装之前,首页安装依赖包 yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre ...

  4. hdu 4352 数位dp+nlogn的LIS

    题意:求区间L到R之间的数A满足A的的数位的最长递增序列的长度为K的数的个数. 链接:点我 该题的关键是记录LIS的状态,学习过nlogn解法的同学都知道,我们每次加入的元素要和前面的比对替换,这里就 ...

  5. bzoj 3784

    第三道点分治. 首先找到黄学长的题解,他叫我参考XXX的题解,但已经没有了,然后找到另一个博客的简略题解,没看懂,最后看了一个晚上黄学长代码,写出来然后,写暴力都拍了小数据,但居然超时,....然后改 ...

  6. linux常见命令集合(下)

    1. tar zcvf backup-$(date "+%Y-%m-%d").tar.gz demo01dir 常用命令集合 echo helloworld date “+%y-% ...

  7. sklearn中的投票法

    投票法(voting)是集成学习里面针对分类问题的一种结合策略.基本思想是选择所有机器学习算法当中输出最多的那个类. 分类的机器学习算法输出有两种类型:一种是直接输出类标签,另外一种是输出类概率,使用 ...

  8. asp.net 链接数据库ADO.NET

    web.config <configuration> <connectionStrings> <add name="constr" connectio ...

  9. Hough变换的方法检测直线段,效果良好

    转自pund, Hough_Grd 程序下载地址:点击下图,并在下图所示的路径下寻找

  10. 制作Java安装程序

    这个工具利用 ANT 来制作在 Windows, MacOS X, Unix 平台上可执行的文件,比如 exe,zip,jar.ROXES ANT Tasks 基于 GPL 发布. http://ww ...