public interface cellphone { public void call(); public void sensms(); }
public class huawei implements cellphone{ @Override public void call() { System.out.println("huawei call"); } @Override public void sensms() { System.out.println("huawei sendsms"); } }
public class iphone implements cellphone{ @Override public void call() { System.out.println("iphone call"); } @Override public void sensms() { System.out.println("iphone sendsms"); } public void play(){ System.out.println("iphone play"); } }
public class shanzhai { public void szcall(){ System.out.println("sz calling"); } public void szsendsms(){ System.out.println("sz sendsms"); } }
public class szAdapter implements cellphone{ private shanzhai sz; public szAdapter(shanzhai sz){ this.sz = sz; } @Override public void call() { sz.szcall(); } @Override public void sensms() { sz.szsendsms(); } }
public class testapdater { public static void main(String[] args) { cellphone c = new szAdapter(new shanzhai()); c.call(); } }
首先假设一个场景,比如我们是卖手机的,如果顾客来了挑选手机,需要一个个拿不同型号的手机去演示功能
为了简便,我们可以制作一个接口,在接口一端连接手机,另一端控制演示手机的各个功能
手机都有发短信、打电话两个基本功能,我们可以将接口设置为这两个功能
用一个适配器类 实现原有类接口的 然后将不适配的类作为这个类的私有属性,然后在原有方法中去实现