类和对象适配器:
1. 想要使用一个已经存在的类,但是它却不符合现有的接口规范,导致无法直接访问,这时创建一个适配器就能间接去访问这个类中的方法
2. 我们有一个类,想将其设计为可重用的类(可被多处访问)我们可以创建适配器来将这个类来适配其他没有提供合适接口的类
接口适配器:
1. 想要使用接口中的某个或某些方法,但是接口中有太多方法,我们要使用时必须实现接口并实现器中的所有方法,可以使用抽象类来实现接口,并不对方法进行实现(仅置空),然后我们再继承这个抽象类来通过重写想用的方法的方式来实现
/*** Ps2插口*/public interface Ps2 {void isPs2();}
/*** Usb插口*/public interface Usb {void isUsb();}
//类适配器public class Adapter extends Usber implements Ps2 {@Overridepublic void isPs2() {isUsb();}}
//对象适配器public class Adapter implements Ps2 {private Usb usb;public Adapter(Usb usb) {this.usb = usb;}@Overridepublic void isPs2() {usb.isUsb();}}
public class Clienter {public static void main(String[] args) {Ps2 p = new Adapter();p.isPs2();}}
/*** 接口*/public interface A {void a();void b();void c();void d();void e();void f();}
public abstract class Adapter implements A {@Overridepublic void a() {}@Overridepublic void b() {}@Overridepublic void c() {}@Overridepublic void d() {}@Overridepublic void e() {}@Overridepublic void f() {}}
public class AInstance extends Adapter {@Overridepublic void a() {System.out.println("实现A被调用");;}@Overridepublic void b() {System.out.println("实现B被调用");;}}
public class Clienter {public static void main(String[] args) {A a = new AInstance();a.a();a.b();}}
