1、需要2个接口
1)TypeC.java
package com.company.adapter;
public interface TypeC {
String getInfo();
}
2)USB.java
package com.company.adapter;
public interface USB {
String getInfo();
}
2、
1)TypeC的实现类Phone
package com.company.adapter;
public class Phone implements TypeC {
@Override
public String getInfo() {
return "这是一个手机";
}
}
2)Computer含有USB的引用
package com.company.adapter;
public class Computer {
private USB usb1;
public void connect(USB usbDevice) {
this.usb1 = usbDevice;
}
public void showInfo() {
System.out.println(this.usb1.getInfo());
}
}
3、最重要的类Adapter,连接USB和TypeC,实现USB接口并含有TypeC的引用
package com.company.adapter;
public class Adapter implements USB {
private TypeC device;
public Adapter(TypeC device) {
this.device = device;
}
@Override
public String getInfo() {
return this.device.getInfo();
}
}
4、主程序Progress.java
package com.company.adapter;
public class Progress {
public static void main(String[] args) {
Computer computer = new Computer();
Phone phone = new Phone();
//电脑通过适配器连接到TypeC手机
computer.connect(new Adapter(phone));
computer.showInfo();
}
}