适配器模式和代理模式:

代理模式:

 class B {

     A a;

     public B(){a=new A();}

     f(){a.f()}

}

B b=new B();

b.f();    //实质就是调用A的f方法

适配器模式:

class B implements  AA{

     AA a =new A();

    f(){a.f()}

}

AA aa=new B();

aa.f();

//通过接口调用A类的方法,A的方法和接口的方法不一致,需要“翻译者类B”适配

//D接口中attack()方法,而A中是   进攻()  方法

//一般的如果适配就是AA a =new A(); a.f();

原文地址:https://www.cnblogs.com/gaoxiangde/p/4375356.html