1. 类适配器
已有的接口
package indi.tlq.adapter;
public interface Usb{
public void isUsb();
}
package indi.tlq.adapter;
public class Usber implements Usb{
@Override
public void isUsb(){
System.out.println("----usb-----");
}
}
需要转换成的接口
package indi.tlq.adapter;
public interface Ps2{
void isPs2();
}
Adapter1直接继承了Usber类
package indi.tlq.adapter;
public class Adapter1 extends Usber implements Ps2{
@Override
// 在类的内部直接去做一个转换
public void isPs2(){
isUsb();
}
}
package indi.tlq.adapter;
public class Test1{
public static void main(String[] args){
Ps2 p = new Adapter1();
p.isPs2();
}
}
2. 对象适配器
package indi.tlq.adapter;
public class Adapter2 implements Ps2{
// 适配器类持有类
private Usb usb = null;
Adapter2(Usb u){
usb = u;
}
@Override
public void isPs2(){
usb.isUsb();
}
}
3. 接口适配器
package indi.tlq.adapter;
public interface A{
int a();
int b();
int c();
int d();
}
package indi.tlq.adapter;
public abstract class Adapter3 implements A{
public int a(){return 0;}
public int b(){return 0;}
public int c(){return 0;}
public int d(){return 0;}
}
package indi.tlq.adapter;
public class AdapterImpl extends Adapter3{
public int a(){
System.out.println("this is a adapter mmm");
return 0;
}
}