目录
1.何为代理?
为对象包装一个代理,使得这个代理可以控制对目标对象的访问。外界通过代理对象间接访问目标对象。通俗讲就是使用一个代理类对原有方法进行增强。
2.何为静态代理?
(1)代理对象拥有目标对象的句柄。(2)所有调用目标对象的方法,都通过调用代理对象来实现。对于每一个目标对象的方法,都需要静态编码。即在代理对象中实现
3.示例
假设我是一个学生,我参加考试的时候需要写卷子,考试过程共有老师发卷子,开始写卷子,老师收卷子三个步骤
一.首先建立学生的参加考试,一个学生在参加考试的时候要做的事情那就是开始写卷子write

二.建立我这个学生类,我是个学生就要实现参加考试takeExam这个接口

三.但是在参加考试的开始写卷子方法执行之前我们要先让老师发卷子,写完之后让老师收卷子,这才是完整的考试

四.现在开始考试

执行结果

本文介绍了代理模式的基本概念,特别是静态代理的原理。在Java中,静态代理通过创建一个代理类来包裹实际的目标对象,通过代理类控制对目标对象的访问。文章以考试过程为例,详细解释了如何实现静态代理,包括代理对象如何持有目标对象的引用,以及如何在代理对象中拦截并增强方法调用。示例展示了如何在代理对象中添加考试开始前的发卷和考试结束后的收卷操作,从而完整模拟考试流程。
232

被折叠的 条评论
为什么被折叠?



