【Java教程】Java 适配器模式
Java设计模式 - 适配器模式
我们在现实生活中使用适配器很多。例如,我们使用存储卡适配器连接存储卡和计算机,因为计算机仅支持一种类型的存储卡,并且我们的卡与计算机不兼容。
适配器是两个不兼容实体之间的转换器。适配器模式是一种结构模式。
在Java设计模式中,适配器模式作为两个不兼容接口之间的桥梁。
通过使用适配器模式,我们可以统一两个不兼容的接口。
例子
首先我们创建一个播放器界面来播放任何时间的媒体文件。
MyPlayer是适配器,它统一了播放媒体文件的接口。
interface Player {public void play(String type, String fileName); } interface AudioPlayer { public void playAudio(String fileName); } interface VideoPlayer { public void playVideo(String fileName); } class MyAudioPlayer implements AudioPlayer {@Overridepublic void playAudio(String fileName) {System.out.println("Playing. Name: "+ fileName); } } class MyVideoPlayer implements VideoPlayer {@Overridepublic void playVideo(String fileName) {System.out.println("Playing. Name: "+ fileName); } }class MyPlayer implements Player {AudioPlayer audioPlayer = new MyAudioPlayer();VideoPlayer videoPlayer = new MyVideoPlayer();public MyPlayer(){ }@Overridepublic void play(String audioType, String fileName) {if(audioType.equalsIgnoreCase("avi")){videoPlayer.playVideo(fileName);}else if(audioType.equalsIgnoreCase("mp3")){audioPlayer.playAudio(fileName);}} } public class Main{public static void main(String[] args) {MyPlayer myPlayer = new MyPlayer();myPlayer.play("mp3", "h.mp3");myPlayer.play("avi", "me.avi");} }
上面的代码生成以下结果。扩列下我尉(同英):CGMX9880 获取更多 程序员架构学习资料,
技术也是在不断更新,我相信你也想学到最新技术,
所以你们就不要说我骗人的,加的都获取资料,
学习更上一层楼了!Java,人工智能,架构师,初级程序员提升都有!
【Java教程】Java 适配器模式相关推荐
- java抓取网页标题内容_[Java教程]java 网页页面抓取标题和正文
[Java教程]java 网页页面抓取标题和正文 0 2014-07-10 09:01:30 import java.io.BufferedReader;import java.io.IOExcept ...
- java demo在哪里下载_[Java教程]Java学习 (一)、下载,配置环境变量,第一个demo...
[Java教程]Java学习 (一).下载,配置环境变量,第一个demo 0 2016-03-01 22:00:18 一.在 http://www.oracle.com 下载java JDK 安装到自 ...
- c ibatis mysql实例_[Java教程]java程序中的ibatis连接mySql的基本实例
[Java教程]java程序中的ibatis连接mySql的基本实例 0 2015-03-16 00:01:32 属性文件:SqlMap.properties1 driver=com.mysql.jd ...
- java 配置信息_[Java教程]java 配置信息类 Properties 的简单使用
[Java教程]java 配置信息类 Properties 的简单使用 0 2016-12-08 09:00:09 Properties :(配置信息类) 是一个表示持久性的集合 ,继承 Hashta ...
- java xfire webservice 异步_[Java教程]Java中使用webservice,简化开发(xfire的webservice)...
[Java教程]Java中使用webservice,简化开发(xfire的webservice) 0 2016-01-07 15:00:11 首先,使用到的jar先导入项目中, xbean-sprin ...
- java教程java自学_15必须阅读Java 8教程
java教程java自学 Java 8于上个月发布,并且充满了新功能和幕后优化. 互联网在覆盖所有这些新增功能(包括好与坏)方面都做得相当不错 . 我认为最好汇总一下我们认为是其中最好的一些教程,以帮 ...
- java字符流实际上也是字节,[Java教程]Java字节流与字符流的区别
[Java教程]Java字节流与字符流的区别 0 2017-05-22 12:00:42 字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身 ...
- java识别系统_[Java教程]Java识别操作系统
[Java教程]Java识别操作系统 0 2016-11-03 19:00:10 1 /** 2 * Created by xfyou on 2016/11/3. 3 */ 4 public clas ...
- Java教程:Java是什么?Java的特点有哪些?
本文来自CCTV5直播[www.cctv5zb.net]:原文地址 www.cctv5zb.net/Article/198130.html 转载注明来源 Java教程Java 是近 10 年来计算机软 ...
- java懒汉,[Java教程]java 懒汉式
[Java教程]java 懒汉式 0 2016-07-28 01:00:06 2016-07-28 00:10:14 懒汉式: class text { public String k; privat ...
最新文章
- 对话预训练_百度发布首个大规模隐变量对话模型PLATO
- 全球及中国工业水性涂料行业销售前景与竞争态势研究报告2022年
- 大四学生对于晚睡的思考
- 设置NPM/Electron国内源
- C++ primer第一章练习笔记及书店程序
- R_ggplot2基础(三)
- java编程思想学习笔记——第2章 一切都是对象
- 创建3层的服务模板 (2)--- App-V package 和 Application Profile
- Vue.js身份证读卡器阅读器谷歌chrome火狐Firefox网页实现读取方法
- 性能测试adb常用命令
- wince同步软件区别
- 抖音的服务器究竟有多大?
- fms安装教程 linux_安装FMS3 for Linux
- php选择手机相片,头像直接从手机图库选择或者拍照上传
- pc端常用电脑屏幕 媒体查询尺寸
- 搭建微步蜜罐,启动通用OA系统仿真登陆蜜罐,使用awvs来去进行扫描通用OA系统仿真登陆蜜罐,nmap工具扫描搭建蜜罐的系统。
- linux电容触摸屏驱动参数,基于FT5x06嵌入式Linux电容触摸屏驱动
- K3工业老单单据的相关表
- java类和对象在内存的表现形式
- echarts中如何配置图例形状、图标宽高、图标和文字间距、图例位置、文字颜色、字体大小