(一)静态代理

1、静态代码模式的介绍

静态代理在使用时,需要定义接口或者父类,被代理对象(即目标对象)与代理对象一起实现相同的接口或者是继承相同父类。

2、应用实例

具体要求:
1)定义一个接口:ITeacherDao
2) 目标对象TeacherDao实现接口ITeacherDao
3)使用静态代理方式,就需要在代理对象TeacherDaoProxy中也实现ITeacherDao
4)调用的时候通过调用代理对象的方法来调用目标对象
5)特别提醒:代理对象与目标对象要实现相同的接口,然后通过调用相同的方法来调用目标对象的方法。

3、 图解:

4、代码实现

package proxy;
//接口
public interface ITeacherDao {void teach();
}
package proxy;//目标类
public class TeacherDao implements ITeacherDao {@Overridepublic void teach() {System.out.println("开始授课。。。");}
}
package proxy;//代理对象,静态代理
public class TeacherDaoProxy implements ITeacherDao {private ITeacherDao target;  //目标对象,通过接口来聚合//构造器public TeacherDaoProxy(ITeacherDao target) {this.target = target;}@Overridepublic void teach() {System.out.println("开始代理了。。。");target.teach();System.out.println("代理结束了。。。");}
}
package proxy;public class Client {public static void main(String[] args) {//创建目标对象(被代理对象)TeacherDao teacherDao = new TeacherDao();//创建代理对象,同时将目标对象传递给代理对象TeacherDaoProxy teacherDaoProxy = new TeacherDaoProxy(teacherDao);//通过代理对象,调用到被代理对象的方法teacherDaoProxy.teach();}
}

5、运行结果

java代理模式之静态代理相关推荐

  1. 【Java】代理模式(静态代理动态代理)

    CONTENT 代理模式 静态代理 动态代理 JDK 动态代理(基于接口) CGLIB 动态代理(基于类继承) JDK 动态代理 v.s. CGLIB 动态代理 JDK 动态代理为什么必须基于接口 R ...

  2. 代理模式之---静态代理

    代理模式之-静态代理 代理模式:为一个对象提供一个替身,以控制对这个对象的访问.即通过代理对象访问目标对象,这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 被代 ...

  3. 23种设计模式7_代理模式之一静态代理

    23种设计模式7_代理模式之一静态代理 1 基本介绍 代理模式:为其他对象提供一种代理以控制对这个对象的访问 代理模式也叫委托模式,它是一项基本设计技巧.许多其他的模式,如状态模式.策略模式.访问者模 ...

  4. Java的代理模式之静态代理和动态代理

    文章目录 静态代理 动态代理 jdk生成代理对象 cglib代理 代理模式简介: 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目 ...

  5. 设计模式之代理模式(静态代理、Java动态代理、Cglib动态代理)

    代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问.这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介. 提醒:动态代理中涉及到以前的一些知识 ...

  6. 设计模式之代理模式(静态代理动态代理)

    目录 1.什么是代理模式 2.代理模式的结构 3.代理模式的实现 3.1 静态代理和动态代理概念 3.2 静态代理 3.3 动态搭理 3.3.1 代码实现 3.3.2 Proxy类讲解 4.动态代理V ...

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

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

  8. 设计模式之代理模式(上) 静态代理与JDK动态代理

    2019独角兽企业重金招聘Python工程师标准>>> 代理模式 给某一个对象提供一个代理,并由代理对象控制对原对象的引用. 静态代理 静态代理是由我们编写好的类,在程序运行之前就已 ...

  9. 代理模式(静态代理和动态代理)

    一.静态代理 我们平常去电影院看电影的时候,在电影开始的阶段是不是经常会放广告呢? 电影是电影公司委托给影院进行播放的,但是影院可以在播放电影的时候,产生一些自己的经济收益,比如卖爆米花.可乐等,然后 ...

最新文章

  1. 【组队学习】【30期】李宏毅机器学习(含深度学习)
  2. php ping 命令注入,CTF关于ping命令注入问题
  3. MindCon | 杭京宁三大战场即将启动,火速来战!
  4. 删除唯一性约束unique
  5. 神策数据入选铅笔道 2021 真榜“企业服务未来独角兽排行榜·营销与销售 TOP20”...
  6. 1.EXTJS Row Editor Grid 点取消时插入的新行 的解决方法
  7. [css] 分析比较opacity: 0、visibility: hidden、display: none三者的优劣和适用场景
  8. web容器 ejb容器_容器实用指南
  9. golang 捕获堆栈信息_一篇文章教你如何捕获前端错误
  10. 【渝粤教育】电大中专建筑力学_1作业 题库
  11. 【优化预测】基于matlab遗传算法优化BP神经网络预测【含Matlab源码 1376期】
  12. 基于Python的Climate Indices库计算SPEI(标准化降水蒸散发指数)01—Climate Indices库的下载和安装
  13. 护照扫描仪出入境海关运用SDK
  14. kafka mysql 迁移,kafka迁移数据目录
  15. 跑步用app轨迹画得比较准确的居然是“咕咚”
  16. 苹果确认了!iPhone 将改用 USB-C 接口
  17. Java项目:16款java游戏(java+swing)
  18. nginx proxy_pass规则
  19. ZDNS联合发起创建的“粤港大数据图像和通信应用联合实验室”成功获批
  20. 操作系统MIT6.S081:P7->Interrupts

热门文章

  1. JVM错误日志hs_err_pid****.log分析
  2. IBL 漫反射辐照度
  3. 第六课_进制3_进制的表示
  4. Java简单案例练习
  5. crt上次文件到服务器,crt登陆到ftp服务器
  6. 温度测量基于c语言,基于PN结的温度测量系统设计论文(C语言)--189876772.doc
  7. 配置PHP运行环境的方法步骤
  8. PHP:【微信小程序】初识微信小程序,微信小程序配置
  9. 银行春招:六大行薪资待遇知多少?(上)
  10. 对 原子性,可见性的理解