Java高级技术(动态代理)

news2025/1/20 19:58:16

一,代理

二,案例

放到代码中演示:

首先,创建一个明星接口,这个接口有一个skill方法,说明只要是明星就必须有点技能。

public interface Star {
    void skill();
}


然后,创建坤坤对象,实现明星接口

public class GeGe implements Star {
    private String name;

    public GeGe() {
    }

    public GeGe(String name) {
        this.name = name;
    }

    @Override
    public void skill() {
        System.out.println(name+"在唱歌");
        System.out.println(name+"在跳舞");
        System.out.println(name+"在说唱");
    }


接下来,创建经纪人类,来帮助坤坤完成接单和变演完给粉丝送篮球

代理类也有一个保存用户的方法,但是这个方法属于代理类,这个方法不会真的保存用户,而是起到一个过渡作用,其内部有一个真实对象,进行用户保存。

public class StarProxy implements Star {
    private Star star;

    public StarProxy(Star star) {
        this.star = star;
    }

    @Override
    public void skill() {
        System.out.println("接受预约");
        star.skill();
        System.out.println("表演完给粉丝送篮球");
    }
}


最后,结婚当天

public class Marry {
    public static void main(String[] args) {
        GeGe gege = new GeGe("坤坤");

        StarProxy starProxy = new StarProxy(gege);
        starProxy.skill();
    }
}


运行结果:

 图解:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1269000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第八天:信息打点-系统端口CDN负载均衡防火墙

信息打点-系统篇&端口扫描&CDN服务&负载均衡&WAF防火墙 一、知识点 1、获取网络信息-服务器厂商: 阿里云,腾讯云,机房内部等。 网络架构: 内外网环境。 2、获取服务信息-应用协议-内网资产: FTP…

服务运营 |精选:床位知多少?医院调度的几种建模方法(下)

编者按: 住院流程(Inpatient Flow)是一种通过协调和优化医院内部流程,以提高患者入院至出院期间的效率和质量的方法。住院流程通常通过医院内部信息系统和协同工作流程进行管理,以确保患者得到及时的诊断、治疗和护理…

深度学习代码优化(Config,Registry,Hook)

社区开放麦#9 | OpenMMLab 模块化设计背后的功臣 1. 配置文件管理Config 1.1 早期配置参数加载 早期深度学习项目的代码大多使用parse_args,在代码启动入口加载大量参数,不利于维护。 常见的配置文件有3中格式:python、json、yaml 格式的配…

Cytoscape软件下载、安装、插件学习[基础教程]

写在前面 今天分享的内容是自己遇到问题后,咨询社群里面的同学,帮忙解决的总结。 关于Cytoscape,对于做组学或生物信息学的同学基本是陌生的,可能有的同学用这个软件作图是非常溜的,做出来的网络图也是十分的好看&am…

Golang中rune和Byte,字符和字符串有什么不一样

Rune和Byte,字符和字符串有什么不一样 String Go语言中, string 就是只读的采用 utf8 编码的字节切片(slice) 因此用 len 函数获取到的长度并不是字符个数,而是字节个数。 for循环遍历输出的也是各个字节。 Rune rune 是 int32 …

Google分析中的基础概念

当提到Google分析时,我们通常指的是一种用于跟踪和分析网站和应用程序数据的工具。在使用Google分析之前,了解其基础概念对于正确配置和有效使用该工具非常重要。 1、帐户(Account):帐户是Google分析中的最高层级。一…

Linux系统之uptime命令的基本使用

Linux系统之uptime命令的基本使用 一、uptime介绍二、uptime命令使用帮助2.1 uptime的help帮助信息2.2 uptime的语法解释 三、uptime的基本使用3.1 直接使用uptime命令3.2 显示uptime版本信息3.3 显示系统运行时间3.4 显示系统最后一次启动时间 四、uptime命令的使用注意事项 一…

案例,linux环境下OpenCV+Java,实现证件照在线更换背景色

先看效果(图片来自网络,如有侵权,请联系作者删除) 主要是通过java实现的,linux环境编译安装opencv及证件照背景色更换的核心算法在前面一篇文章中有写到。 目前算法还有瞎呲,当照片光线不均的时候会出现误…

Spring---对象的存储和读取

文章目录 Spring对象的存储创建Bean对象将Bean对象存储到spring中添加配置文件存储Bean对象 Spring对象的读取得到Spring上下文对象从Spring中取出Bean对象使用Bean对象 Spring对象的存储 创建Bean对象 Bean对象其实就是一个普通的Java对象。我们按照创建Java对象的方式来创建…

独家揭秘!8种平面设计类型,你都了解吗?

当我们谈起平面设计时,大部分人可能会误以为平面设计只局限于处理二维(2D)元素,例如设计logo或海报等。这实际上是一个普遍的误解。事实上,平面设计的定义和应用范围要远远超越这个简单的概念。它更多的是采用各种平面…

【代码】考虑灵活性供需平衡的电力系统优化调度模型

程序名称:考虑灵活性供需平衡的电力系统优化调度模型 实现平台:matlab-yalmip-cplex/gurobi 代码简介:最可再生能源发电设备和并网技术快速发展,以新能源为主导的新型电力系统逐步形成。高比例新能源的随机波动性导致电力系统的…

物联网开发(一)新版Onenet 基础配置

onenet新创建的账号,没有了多协议接入,只有新的物联网开放平台 第一讲,先给大家讲一下:新版Onenet 基础配置 创建产品 产品开发-->创建产品 产品的品类选择个:大致符合你项目的即可,没有影响 选择智…

智能客服核心技术——预测会话与答案生成

1.信息检索 2. 句型模板匹配标准问题生成答案 3.根据知识图谱推理得到答案

模拟算法【1】

文章目录 😀1576. 替换所有的问号😆题目🤩算法原理🙂代码实现 😊495.提莫攻击🫠题目😉算法原理🤗代码实现 模拟算法 通俗的来说,模拟算法就是依葫芦画瓢,将题…

网络运维与网络安全 学习笔记2023.11.29

网络运维与网络安全 学习笔记 第三十天 今日更新太晚啦!!! 主要是今天工作时挨了一天骂,服了,下次记得骂的轻一点!!! (要不是为了那点微薄的薪资,谁愿意听你…

MySQL进阶知识:三

前言 未更新完毕!大概明天更完! 锁 MySQL中的锁,按照锁的粒度分,分为以下三类 全局锁:锁定数据库中的所有表。表级锁:每次操作锁住整张表。行级锁:每次操作锁住对应的行数据。 全局锁 全局…

Spark-java版

SparkContext初始化 相关知识 SparkConf 是SparkContext的构造参数,储存着Spark相关的配置信息,且必须指定Master(比如Local)和AppName(应用名称),否则会抛出异常;SparkContext 是程序执行的入口&#xf…

基于Halcon的二维码姿态矫正

任务要求: 下图中的二维码进行校正。(HALCON10.0自带例图,路径:“images/datacode/ecc200/ecc200_to_preprocess_001.png”) 任务分析: 图中的二维码存在畸变,需对其进行透射变换。首先获得图…

Java EE 多线程

文章目录 1. 认识线程1.1 什么是进程1.2 什么是线程1.2.1. 线程是怎么做到的呢?1.2.2. 进程和线程的关系 1.3 多线程编程1.3.1. 第一个多线程程序1.3.2. 使用 jconsole 命令查看线程1.3.3. 实现 Runnable 接口,重写 run1.3.4. 继承 Thread 重写 run&…

机器学习:领域自适应学习

训练一个分类器是小问题 上难度 训练数据和测试数据不一致,比如训练数据是黑白的,测试时彩色的,结果准确率非常低。 训练数据和测试数据有点差距的时候,能不能效果也能好呢?这就用到了领域自使用domain adptation 用一…