首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
java学习笔记(十八)——动态代理模式
📅 2026/10/26 1:26:38
✍️ 爱科研究院
👁 阅读 3,247
文章目录开发步骤案例开发步骤案例必须定义接口里面定义一些行为用来约束被代理对象和代理对象都要完成的事情。public interface Starable { public String Sing(); public String Dance(); }定义一个实现类实现接口这个实现类的对象代表被代理的对象。public class BigStar implements Starable{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { this.age age; } public String Sing(){ System.out.println(name正在唱歌); return 谢谢; } public String Dance(){ System.out.println(name正在跳舞); return 谢谢~; } }代理对象中需要模拟收首付款真正触发被代理对象的行为然后接收尾款操作。import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class ProxyUtil { public static Starable createProxy(BigStar star){ Starable starProxy(Starable) Proxy.newProxyInstance(ProxyUtil.class.getClassLoader(), new Class[]{Starable.class}, new InvocationHandler() { Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { String name method.getName(); if(nameSing){ System.out.println(收话筒费一万元); } else if(nameDance){ System.out.println(收场地费十万元); } return method.invoke(star,args); } }); return starProxy; } }定义一个测试类在里面创建被代理对象然后为其创建一个代理对象返回。重点public class Test{ static void main(){ BigStar snew BigStar(); s.setName(小明); Starable starProxyProxyUtil.createProxy(s); String str1starProxy.Sing(); System.out.println(str1); String str2starProxy.Dance(); System.out.println(str2); } }通过返回的代理对象进行方法的调用观察动态代理的执行流程。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/26 1:26:38
java学习笔记(十七)——反射,注解,Junit单元框架
2026/10/26 1:26:38
java学习笔记(十六)——多线程
2026/10/26 1:26:38
GTweak 作者怎么联系?3 步走通的社区支持渠道完整教程
2026/10/26 5:01:54
微信小程序+SpringBoot构建智能在线考试系统实践
2026/10/26 5:01:54
Android日志系统:架构解析与最佳实践
2026/10/26 5:01:54
MySQL字段类型选择指南与性能优化实践
2026/10/26 5:01:54
SQL Server 2016数据库表审计方案设计与实现
2026/10/26 5:01:54
Gemini 3.8终端实测:代码跑通率翻倍,AI从“能写”到“能干活”
2026/10/26 4:56:54
密集检索配置跨领域迁移实测:从SciFact到NFCorpus的性能崩塌点
2026/10/26 0:01:33
热搜量不是文档频率:先把 BM25 的统计口径分开
2026/10/26 0:01:33
Nested Learning:解决AI灾难性遗忘的分层记忆架构
2026/10/26 0:01:33
企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战
2026/10/25 0:02:11
全国计算机二级C语言真题PDF高效刷题指南
2026/10/26 0:03:29
requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南
2026/10/25 0:02:11
递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现
2026/10/25 22:15:16
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/23 10:58:39
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/25 12:42:56
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)