package com.hpy.test;/*** 房东*/
public interface Landlord {public void house();
}

package com.hpy.test;/*** 房东A*/
public class LandlordA implements Landlord{public void house(){System.out.println("房东A出租美丽沙三室一厅房子");}
}

package com.hpy.test;/*** 房东B*/
public class LandlordB implements Landlord {public void house(){System.out.println("房东B出租西海岸三室一厅房子");}
}

package com.hpy.test;/*** 中介*/
public class Intermediary implements Landlord {private Landlord landlord;public Intermediary(Landlord landlord){this.landlord = landlord;}@Overridepublic void house() {landlord.house();}
}

package com.hpy.test;/*** 房客*/
public class Client {public static void main(String[] args) {new Intermediary(new LandlordA()).house();new Intermediary(new LandlordB()).house();}
}

控制台打印:

      

转载于:https://www.cnblogs.com/ithfm/p/9565512.html

静态代理的实现-模拟中介代理房东出租房子给房客相关推荐

  1. 【Java静态代理】以模拟“婚庆公司帮助你嫦娥奔月”为例

    代码 package cn.hanquan.test;/*静态代理的实现:经常用于记录日志.增强服务* 以此理解多线程new Thread(线程对象).start();的工作原理* 模拟婚庆公司* * ...

  2. Spring学习8之静态代理

    一.静态代理是什么? 代理模式是常用的Java设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常 ...

  3. 静态代理、动态代理概念及使用

    文章目录 1. 为什么要用静态代理 2. 静态代理的实现 3. 静态代理的缺点 4. 动态代理 4.1 JDK动态代理 4.1.1 InvocationHandler 4.1.2 Class 4.1. ...

  4. Java知识点26——模拟12306买票过程、模拟龟兔赛跑的过程、静态代理例子

    模拟12306买票过程 共享资源,并发(线程安全) Web12306.java /*** 共享资源,并发(线程安全)* @author Administrator**/ public class We ...

  5. 代理模式(静态代理、jdk动态代理、CGLib动态代理)

    目录 1.什么是代理模式? 2.静态代理 1.案例 2.优化案例 3.静态代理瓶颈 3.动态代理 1.什么是动态代理? 2.jdk动态代理 1.动态代理的工具类 匿名内部类简介 2.jdk动态代理实现 ...

  6. 面试被问到Java 静态代理/动态代理?不用怕,这样子就可以!!

    理解Java动态代理需要对Java的反射机制有一定了解 什么是代理模式# 在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象. 例如,购买火 ...

  7. 【学习笔记】结合代码理解设计模式 —— 代理模式(静态代理、动态代理、延伸)

    文章目录 什么是代理模式 一. 代理模式简介 二. 静态代理模式 三. 动态代理模式 万能模版 前言:笔记基于狂神设计模式视频.<大话设计模式>观后而写 (最近一直在更新之前的刷题博客,今 ...

  8. 一篇文章让你搞懂Java中的静态代理和动态代理

    文章目录 什么是代理模式 代理的优缺点 静态代理 动态代理 InvocationHandler 接口 和 invoke 方法介绍 静态代理和动态代理的区别 什么是代理模式 代理模式是常用的java设计 ...

  9. Java设计模式:(一)动态代理分析 (含静态代理)

    代理模式:为其他对象提供一种代理以控制某个对象的访问.用在:在某些情况下,一个客户不想或者不能直接访问另一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用,代理对象还可以完成它附加的操作. ...

  10. Java中的静态代理设计模式

    AOP(Aspect Oriented Programmimg) 面向切面编程 核心:spring中的代理设计模式 1.静态代理设计模式 service 核心: 核心功能:一定要有的功能,没有的话业务 ...

最新文章

  1. 计算机组成原理-第二章 数据表示与运算
  2. RabbitMQ入门(4)--路由
  3. 经典分类:线性判别分析模型!
  4. 100% .NET Control_使用CurrencyManager 创建一个导航条来控制DatagGrid的XNavBar控件(VB.NET)....
  5. mount 网络_mount系统调用(ksys_mount-gt;do_mount-gt;do_new_mount)
  6. 18条工作感想:不要不情愿地工作
  7. 【项目管理】人力资源计划和组建项目团队
  8. Python中操作mysql的pymysql模块详解
  9. linux mysql服务基础操作(二)
  10. cupload怎么保存图片_图片标注软件labelImg使用指南
  11. Linux 实现一个带有重定向功能的shell
  12. python全栈开发下载_python全栈开发神器 - 『精品软件区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn...
  13. contiki makefile框架分析 contiki学习之一
  14. 容器技术Docker K8s 44 Serverless Kubernetes(ASK)详解-ASK弹性伸缩管理
  15. 根据歌曲(mp3/wav)的旋律生成它的简谱(粗略大致)
  16. base64还原成图片
  17. 组装服务器要固态硬盘,服务器选择时,为什么要选择固态硬盘
  18. 55个美丽而独特的网站页眉设计欣赏
  19. Echarts之饼图
  20. 海康摄像头http抓图

热门文章

  1. 魔兽世界怀旧服务器无限刷怪点,魔兽世界怀旧服:4处无限刷新的打怪点!升级比血色站桩还快!...
  2. P2123皇后游戏+P1080国王游戏
  3. java线程池中的Worker解析
  4. 计算机不识别u盘什么原因,电脑不识别u盘怎么回事
  5. 【构造】POJ-3295 Tautology
  6. 测试用例设计之错误推测法
  7. 为什么Windows的文件名不能超过255个英文字符,求解答
  8. OLED之U8g2中文库使用
  9. 【蓝凌表单】流程表单JS汇总
  10. 英特尔DAOS分布式异步存储系统