Java高级技术(动态代理)

一,代理

二,案例

放到代码中演示:

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

public interface Star {void skill();
}


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

public class GeGe implements Star {private String name;public GeGe() {}public GeGe(String name) {this.name = name;}@Overridepublic 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;}@Overridepublic 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.hqwc.cn/news/230803.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一个C代码讲解

文章目录 编写C文件创建文本文件编写代码修改文件后缀切换文件路径 编译代码打开命令行使用gcc编译代码运行程序双击运行使用命令行运行 代码分析编译过程 编写C文件 编辑C代码文件的工具有很多,为了让大家初学的时候摆脱编译软件的干扰,更容易理解编译过…

JVM——产生内存溢出原因

目录 1.产生内存溢出原因一 :代码中的内存泄漏1.案例1:equals()和hashCode()导致的内存泄漏问题:**正常情况**:**异常情况:**解决方案: 2.案例2:内部类引用外部类问题:解决方案&…

VSCODE+QEMU+WSL调试RISCV代码(SBI、kernel)

前言 最近在对RISC-V架构比较感兴趣,正好手头有《RISC-V体系结构编程与实践》的书籍,就打算跟随笨叔将这块的知识学习起来,最开始当然是需要搭建一个基础的实验平台,本来笨叔是贴心的提供了VMare的环境,奈何天生叛逆的…

基于SSM的航空票务推荐系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

轻松整合Knife4j:快速搭建Swagger文档界面与接口调试

Knife4j 是一个为 Java 开发者提供的 Swagger 文档聚合工具,它是 Swagger-Bootstrap-UI 的升级版。它的主要功能是生成和展示 API 文档,让开发者能够更轻松地查看和测试接口。 整合 Knife4j(Swagger-Bootstrap-UI 的升级版)到 Spr…

接口性能测试 —— Jmeter并发与持续性压测

接口压测的方式: 1、同时并发:设置线程组、执行时间、循环次数,这种方式可以控制接口请求的次数 2、持续压测:设置线程组、循环次数,勾选“永远”,调度器(持续时间),这种…

电影特效合成软件NUKE 14 mac介绍说明

NUKE 14 mac是一款电影特效合成软件。可用于电影、电视和视频游戏行业,以创建高质量的视觉效果和动态图形。 Nuke拥有超过200个创意节点,提供您处理数字合成各种挑战所需的一切。这包括行业标准的键控器,旋光仪,矢量绘图工具&…

vmware虚拟机怎么安装linux-rocky操作系统

vmware虚拟机安装linux-rocky操作系统 rocky下载地址:https://rockylinux.org/zh_CN/download/ 我下载boot版本,安装时候需要联网。 接下来一路下一步,硬盘这里可以选择“将虚拟磁盘存储为单个文件”,然后一直点击到完成就可以。…

虾知(知虾):助力Shopee卖家实现市场分析和选品策略优化的神器

在如今的电商市场竞争激烈的背景下,卖家需要借助数据分析工具来了解市场需求、热销产品和竞争状况,以制定明智的选品策略。而虾知(知虾)作为一款专为Shopee卖家设计的数据分析工具,为卖家提供全面的市场分析、商品分析…

传音荣获2023首届全国人工智能应用场景创新挑战赛“智能家居专项赛”三等奖

近日,中国人工智能学会与科技部新一代人工智能发展研究中心联合举办2023首届全国人工智能应用场景创新挑战赛(2023 1st China’s Innovation Challenge on Artificial Intelligence Application Scene,以下简称CICAS 2023),吸引了…

Ubuntu安装ssh

Ubuntu安装ssh服务器 一、ssh ssh:安全外壳协议(secure shell)的缩写,安全外壳协议(安全的shell),是一个计算机网络协议(默认端口号为22)。通过ssh协议可以在客户端安全(提供身份认…

Spark-java版

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