JAVA实现静态代理

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.何为代理?

2.何为静态代理?

3.示例


1.何为代理?

为对象包装一个代理,使得这个代理可以控制对目标对象的访问。外界通过代理对象间接访问目标对象。通俗讲就是使用一个代理类对原有方法进行增强。

2.何为静态代理?

(1)代理对象拥有目标对象的句柄。(2)所有调用目标对象的方法,都通过调用代理对象来实现。对于每一个目标对象的方法,都需要静态编码。即在代理对象中实现

3.示例

假设我是一个学生,我参加考试的时候需要写卷子,考试过程共有老师发卷子开始写卷子老师收卷子三个步骤

一.首先建立学生的参加考试,一个学生在参加考试的时候要做的事情那就是开始写卷子write

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

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

 

四.现在开始考试

 执行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值