适配器模式是一种结构型设计模式,它允许将一个现有的类与另一个不兼容的类进行协同工作。适配器模式通过创建一个中间适配器来连接两个不兼容的接口,使它们能够正常地协作。
适配器模式适用于需要将不兼容的类或接口进行适配的情况。例如,当我们需要将一个旧版 API 系统与新版的客户端进行集成时,可以使用适配器模式将两种不同的接口进行适配。适配器模式的主要优点是可以复用现有的代码,减少代码的修改和重构,从而提高代码的可维护性和可重用性。但是,适配器模式也会增加系统的复杂度,需要额外的适配器类来协调两个不兼容的接口,在设计时需要慎重考虑其使用场景和影响。
简单实现 大概的构思图 
这是影像数据输出接口 (只输出数据啊 不负责显示!!!)
1 2 3 public  interface  IComputerOuputContent  {     String toDisplayData () ; }
 
 适配器接口类 (数据转换器接口类)
1 2 3 public  interface  IVideoAdapter  {     String convertData () ; }
 
输出数据接口实现类   电脑
 一台电脑implements很多接口  比如各种输入接口(键盘输入接口 鼠标输入接口)  输出接口 (显示屏内容输出接口 音频输出接口)
 当然我这里只实现了影像输出接口
1 2 3 4 5 6 7 8 public  class  Computer  implements  IComputerOuputContent  {     @Override      public  String toDisplayData ()  {                  return  "1101010101010101010" ;     } }
 
 适配器类    就是把电脑给的数据转化为图像的东东
 computer(电脑)输出的1101010101010101010是 Displayer(显示器)不能直接显示的内容
 adapter(适配器) 应运而生  这个adapter是可以做很多事情的  但是我只实现了IVideoAdapter(影像数据适配(转换)功能) 当然你还可以implements别的功能,Adapter(适配器)负责把computer(电脑)输出的数据解码成Displayer(显示器)能理解的编码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public  class  Adapter  extends  Computer  implements  IVideoAdapter {          @Override      public  String convertData ()  {                  String  displayData  =  this .toDisplayData();                  displayData = displayData.replace("1101010101" , "你" )                 .replace("010101010" , "好" );         return  displayData;     } }
 
显示器类 
输出转换后Displayer(显示器)能理解的编码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public  class  Displayer  {     private  IVideoAdapter videoAdapter;          public  void  setVideoAdapter (IVideoAdapter videoAdapter)  {         this .videoAdapter = videoAdapter;     }          public  void  view ()  {         System.out.println(videoAdapter.convertData());     } }
 
main方法测试一下 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 public  class  Main  {     public  static  void  main (String[] args)  {                  Displayer  displayer  =  new  Displayer ();         displayer.setVideoAdapter(new  Adapter ());                  displayer.view();     } }
 
输出内容
懒得敲代码的人可以到这里下载https://download.csdn.net/download/Mo_0214/12536851