代理模式(初学)
代理模式
一、什么是代理模式
- 代理模式:为其他对象提供一种代理以控制对这个对象的访问
二、简单例子

- 这里面的骏骏就起到了代理的身份,而贵贵则是被代理的身份。
三、代码实现
1、用一个接口(GivingGifts)来保存送礼物的动作
-
package java_proxy;/*** 这是送礼物的接口,要送礼物就要实现接口*/ public interface GivingGifts {void sendingDolls(); //送玩偶void sendEarrings(); //送耳环void sendingFlowers(); //送鲜花 }
2、航航的类
-
属性用于保存姓名
-
public class Gril {public String name;public Gril(String nameString){this.name = nameString;} }
3、被代理类(贵贵)
-
/*** 贵贵*/ public class Lmg implements GivingGifts{private Gril gril; //要送东西的对象public Lmg(Gril gril) {this.gril = gril; //通过构造器将要送东西的航航信息录进来}@Overridepublic void sendingDolls() {System.out.println("lmg送玩偶给"+gril.name);}@Overridepublic void sendEarrings() {System.out.println("lmg送耳环给"+gril.name);}@Overridepublic void sendingFlowers() {System.out.println("lmg送鲜花给"+gril.name);}}
4、代理类(骏骏)
-
/*** 代理类,代理lmg要做的事*/ public class Zzj implements GivingGifts{private Lmg lmg; public Zzj(Gril gril) { //将航航的信息通过lmg的构造器导入进去,因为lmg这个类不声明lmg = new Lmg(gril);}@Overridepublic void sendingDolls() {lmg.sendingDolls();}@Overridepublic void sendEarrings() {lmg.sendEarrings();}@Overridepublic void sendingFlowers() {lmg.sendingFlowers();}}
5、测试代码
-
public class Main {public static void main(String[] args) {Gril lwh = new Gril("lwh"); //声明被送礼物的人的对象Zzj zzj = new Zzj(lwh); //声明代理类的对象,并将对方信息导入zzj.sendingDolls();zzj.sendEarrings();zzj.sendingFlowers();} } -

相关文章:
代理模式(初学)
代理模式 一、什么是代理模式 代理模式:为其他对象提供一种代理以控制对这个对象的访问 二、简单例子 这里面的骏骏就起到了代理的身份,而贵贵则是被代理的身份。 三、代码实现 1、用一个接口(GivingGifts)来保存送礼物的动作…...
Spring底层架构核心概念
BeanDefinition BeanDefinition表示Bean定义,BeanDefinition中存在很多属性用来描述一个Bean的特点。比如: class,表示Bean类型scope,表示Bean作用域,单例或原型等lazyInit:表示Bean是否是懒加载initMeth…...
为什么高精度机器人普遍使用谐波减速器而不是普通减速器?
机器人作为一种能够代替人类完成各种工作的智能设备,已经广泛应用于工业生产、医疗卫生、军事防卫等领域。其中,机器人的关节传动系统是机器人运动的核心,而减速器作为关节传动系统中的重要组成部分部分,对机器人的性能和技术水平…...
特殊类的设计
目录 一、设计一个类,不能被拷贝二、设计一个类,只能在堆上创建对象三、设计一个类,只能从栈上创建对象四、设计一个类,不能被继承五、设计一个类,只能创建一个对象(单例模式)5.1 饿汉模式5.2 懒…...
HTTP 协议的基本格式(部分)
要想了解HTTP,得先知道什么是HTTP,那么HTTP是什么呢?HTTP (全称为 "超文本传输协议") 是一种应用非常广泛的 应用层协议。那什么是超文本呢?那就是除了文本,还有图片,声音,视频等。 …...
Android 第三方app https 抓包
工具选择 Charles 或 Fiddler 都可以 在PC上安装工具并进行设置 Charles Fiddler 设置按官网说明设置一下好。 Charles设置 Fiddler设置 Android Api Level > 24 SSL特殊设置 当Android 的 Api Level > 24时需要修改一下app的一起配置 1.在项目中添加 Android/src/…...
Linux-gitlab常用命令
gitlab常用命令 1、查看gitlab状态2、gitlab启动3、gitlab关闭 1、查看gitlab状态 gitlab-ctl status2、gitlab启动 gitlab-ctl start3、gitlab关闭 gitlab-ctl stop...
android 13.0 Settings主页动态显示和隐藏设置项(一级菜单显示和隐藏)
1.前言 在13.0定制化开发Settings时,有产品需求要求对主页设置项需要动态控制显示和隐藏,这就需要用定义两个页面来区分加载不同settings页面 接下来分析下相关的实现流程 实现思路: 1.用系统变量控制显示和隐藏某些项 2.增加一个自定义页面来适配不同页面 2.Settings主页动态…...
Android MJPEG播放器
MJPEG Android MJPEG播放 支持http mjpeg直播流播放; 支持编码MP4保存视频; 资源 名字资源jar下载GitHub查看Gitee查看 Maven 1.build.grade allprojects {repositories {...maven { url https://jitpack.io }} }2./app/build.grade dependencies {implementation com.g…...
Ubuntu - 安装 MySQL 8
以下是在 Ubuntu 上安装 MySQL 8 的完整步骤: 步骤 1:更新包列表 首先,打开终端并执行以下命令来确保包列表是最新的: sudo apt update 步骤 2:安装 MySQL 8 服务器 接下来,使用以下命令安装 MySQL 8 …...
谷歌浏览器跨域及--disable-web-security无效解决办法
谷歌浏览器跨域设置 (1)创建一个目录,例如我在C盘创建MyChromeDevUserData文件夹 (2) 在桌面选择谷歌浏览器右键 -> 属性 -> 快捷方式 -> 目标,添加--disable-web-security --user-data-dirC:\M…...
IT售前“楠“知识之这!就是售前-尚文网络xUP楠哥
进Q群11372462领取专属报名福利 !!! # 何为售前工程师 售前工程师在一个IT信息化团队中起到了呈上启下的绝对重要作用!站在销售团队的视角,需要售前工程师从技术维度支持销售业务的开展;站在对立面用户的…...
JS元编程
如果说常规编程是写代码去操作数据,那么元编程就是写代码去操作其他代码。 1 属性的特性 JS的属性有名字和值,但每个属性也有3个关联的特性: 可写(writable)特性指定是否可修改属性的值。 可枚举(enume…...
通过Gunicorn、Supervisor和Nginx更好地运行Django
文章目录 通过runserver运行Django通过Gunicorn运行Django通过Nginx来做反向代理通过Supervisor来托管gunicorn和nginx 同步发布在个人站点:https://panzhixiang.cn 通过runserver运行Django 相信用过Django做开发的人对于python manage.py runserver 这个命令一定…...
[SQL] union all
UNION ALL 是一个用于合并多个查询结果集的操作符。它将多个 SELECT 查询的结果合并成一个结果集,并且保留所有的行,包括重复的行。 具体语法如下: SELECT column1, column2, ... FROM table1 UNION ALL SELECT column1, column2, ... FROM…...
Filebeat+Kafka+ELK日志分析架构
目录 一、zookeeper: 1. zookeeper 定义: 2. Zookeeper 工作机制: 3. Zookeeper 特点: 4. Zookeeper 数据结构: 5. Zookeeper 应用场景: 5.1 统一命名服务: 5.2 统一配置管理: 5.3 统一集群管理: 5.4 服务器动态上下线: 5.5 软负载均衡: 6. Zookeeper 选…...
RK3568驱动指南|第六篇-平台总线-第55章 初识设备树
瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…...
【ELK 使用指南 1】ELK + Filebeat 分布式日志管理平台部署
ELK和EFLK 一、前言1.1 日志分析的作用1.2 需要收集的日志1.3 完整日志系统的基本特征 二、ELK概述2.1 ELK简介2.2 为什么要用ELK?2.3 ELK的组件 三、ELK组件详解3.1 Logstash3.1.1 简介3.1.2 Logstash命令常用选项3.1.3 Logstash 的输入和输出流3.1.4 Logstash配置文件 3.2 E…...
Springboot高频应用注解
本文旨在记录开发中遇到的SpringBoot高频注解,并针对其具体应用记录。 一、LOMBOK相关注解 Slf4j 目的在于使用Log的日志功能,可以在JAVA中自动生成日志记录器!使用时在类上添加Slf4j注解后即可以在类中调用log方法如 可以 调用 log.info …...
面试总结分享:25道数据库测试题
1)什么是数据库测试? 数据库测试也称为后端测试。数据库测试分为四个不同的类别。数据完整性测试 数据有效性测试 数据库相关的性能 测试功能,程序和触发器 2)在数据库测试中,我们需要正常检查什么? 通常&a…...
5个理由告诉你为什么Anime4K是动画视频超分的最佳选择
5个理由告诉你为什么Anime4K是动画视频超分的最佳选择 【免费下载链接】Anime4K A High-Quality Real Time Upscaler for Anime Video 项目地址: https://gitcode.com/gh_mirrors/an/Anime4K Anime4K是一套开源的实时动画视频超分辨率算法,专门为提升动画内容…...
基于中点电位平衡的光伏NPC三电平逆变器并网仿真研究:额定功率100kW、直流电压750V的M...
光伏NPC三电平逆变并网仿真 [1]包含中点电位平衡,额定功率100kW,直流电压750V。 光伏阵列参数已设定,采用mppt算法(扰动观察法); [2]主电路采用二极管钳位型NPC逆变器; 采用电压电流双闭环控制&…...
DriveVLA-W0:世界模型在自动驾驶中放大数据规模定律【在动作信号的基础上增加视觉自监督信号可增强VLA效果(扩散世界模型、自回归世界模型效果都不错,图4显示扩散策略稍好一些)】
第001/22页(英文原文) DRIVEVLA-W0: WORLD MODELS AMPLIFY DATA SCALING LAW IN AUTONOMOUS DRIVING Yingyan Li1∗ Shuyao Shang1∗ Weisong Liu1∗ Bing Zhan1∗ Haochen Wang1∗ Yuqi Wang1 Yuntao Chen1 Xiaoman Wang2 Yasong An2 Chufeng Tang2 Lu Hou2 Lue Fan1B Zh…...
AI率太高被退稿?这5款工具帮你稳过查重+降AI双关!
🔥 2026实测推荐:5款真正管用的工具1️⃣ 毕业之家 AI(毕业季救星)AI率效果:<8%亮点:专为国内高校定制,自动适配学校格式要求,连页眉页脚都不用手调价格:本科套餐199元…...
打破邮件营销壁垒:免费响应式HTML模板的实战指南
打破邮件营销壁垒:免费响应式HTML模板的实战指南 【免费下载链接】email-templates Free HTML email templates for Mailchimp and other emails services 项目地址: https://gitcode.com/gh_mirrors/ema/email-templates 一、邮件营销的隐形痛点与解决方案 …...
导师推荐!盘点2026年好评如潮的AI论文平台
一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文平台正在席卷学术圈,覆盖选题构思、文献综述、内容生成、降重润色与格式排版全流程,真正帮你高效搞定论文写作。 一、全流程王者:一站式搞定论文全链路&…...
RAG-SQL Router实战:让AI智能判断文档与数据库查询,小白也能轻松搭建收藏版
本文介绍RAG-SQL Router系统,解决AI问答时判断信息来源(文档或数据库)的困境。通过LlamaIndex框架和OpenAI模型,实现智能路由决策,支持非结构化和结构化数据查询。提供完整代码和实战步骤,帮助开发者快速搭…...
如何轻松突破Cursor试用限制:免费高效的终极解决方案
如何轻松突破Cursor试用限制:免费高效的终极解决方案 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. We h…...
ESP8266 入门指南 — 从零开始烧录AT固件
1. 为什么需要烧录AT固件 第一次拿到ESP8266模块时,很多朋友会直接尝试用串口发送AT指令,结果发现模块毫无反应。这种情况我遇到过太多次了,根本原因在于模块没有预装AT固件。虽然部分商家会预先烧录好,但根据我的经验,…...
Qwen3-VL-WEBUI效果实测:对比其他模型,看看优势在哪里
Qwen3-VL-WEBUI效果实测:对比其他模型,看看优势在哪里 1. 引言:当AI不仅能“看”,还能“做” 想象一下,你给AI看一张软件界面的截图,它不仅能告诉你界面上有什么,还能一步步指导你如何操作&am…...
