- package com.zzy.adapter;
- /**
- * PS2接口,圆口
- * @author eason
- *
- */
- public interface PS2Port {
- public void workWithPS2();
-
}
- package com.zzy.adapter;
- /**
- * USB接口,U口
- * @author eason
- *
- */
- public interface USBPort {
- public void workWithUSB();
- }
- package com.zzy.adapter;
- /**
- * 对象适配器
- * 将PS2接口装换成USB接口
- * 所以此类类型是USB接口(implements USBPort) + 成员变量ps2Port
- * @author eason
- *
- */
- public class PS2ToUSB implements USBPort{
- private PS2Port ps2Port;
- public PS2ToUSB(PS2Port ps2Port) {
- this.ps2Port = ps2Port;
- }
- @Override
- public void workWithUSB() {
- System.out.println("转换的关键在这里,本来是");
- ps2Port.workWithPS2();
- System.out.println("经过你的转换,现在是USB工作中");
- }
- }
- package com.zzy.adapter;
- /**
- * 测试类
- * client
- * @author eason
- *
- */
- public class TestAdapter {
- public static void main(String[] args) {
- //1.我现在有一个PS2接口
- PS2Port ps2Port = new PS2Port() {
- @Override
- public void workWithPS2() {
- System.out.println("PS2工作中");
- }
- };
- //2.但是我需要的是一个USB接口啊,对我(client)来说,我只认识USB接口
- //3.经过PS2ToUSB的转换,PS2接口变成了USB接口
- USBPort ps2ToUsbPort = new PS2ToUSB(ps2Port);
- ps2ToUsbPort.workWithUSB();
- }
- }