Adapter Wapper 接口转换器
如果一个类不能直接访问另一个类的时候,中间加一个Adapter转换器就能访问了
 
 常见例子:
 电压转接头
 java.io
 jdbc-odbc bridge(不是桥接模式)
 ASM Transformer
java io里面的读文件操作:
 FileInputStream是字节流读文件,就像一根管子怼在了文件上,一个个字节的往外读文件
 但是我想用BufferedReader读文件,它是按字符流来读取文件的
 这时候BufferedReader没办法直接读FileInputStream的数据
 就需要InputStreamReader将字节流转成字符流
 这里的InputStreamReader就是适配器
public class Main {public static void main(String[] args) throws Exception {FileInputStream fis = new FileInputStream("c:/test.text");InputStreamReader isr = new InputStreamReader(fis);BufferedReader br = new BufferedReader(isr);String line = br.readLine();while (line != null && !line.equals("")) {System.out.println(line);}br.close();}
}
jdbc-odbc bridge(不是桥接模式): --> 它是适配器模式
 数据库SqlServer,微软的产品,访问它的数据的时候,暴露的接口是odbc
 但是java提供的是jdbc
 但是java想要访问odbc的接口怎么办呢?–> jdbc和odbc之间来一个jdbc-odbc bridge
 
常见误区:
 常见的Adapter类反而不是Adapter模式 --> 比如WindowAdapter类
 WindowListener类里面有5,6个方法,用来监听窗口事件,如果你直接创建WindowListener,
 需要实现里面的所有方法
 
但是有WindowAdapter类,就只需要实现你想要的方法就行
 
WindowAdapter是一个抽象类,它实现了WindowListener的所有方法,只不过是空的,这样你就只需要实现自己
 想要的方法就行了

WindowAdapter不是适配器模式 常见的Adapter类,就是个空实现 只是为了方便编程 只需要完成想要的方法就行