/* 设计模式之适配器设计 适配器设置是在一个java程序中一个类如果要实现一个借口,则必须要 实现接口中所有的抽象方法,如果对此以一个借口中的抽象方法过多 ,但是子类中又用不到那么多的抽象方法,则用起来肯定很麻烦,此时 需要一个中间过渡,但是过渡类又不想直接被使用,所有此时被定为抽 象类最合适,即一个接口首先被一个抽象类所实现(此抽象类通常被称为 适配器类),并在此抽象类中实现接口的若干方法(方法体为空),则以后 的子类直接继承此抽象类,可以有选择的覆写抽象方法 */ interface Window{//Window窗口接口 public void open();//打开窗口 public void close();//关上窗口 public void activated();//活动窗户 public void iconifaced();//窗口最小化 } //为了不让被直接使用所以定义为抽象类 //抽象类实现窗口接口将接口方法实现,方法体为空 abstract class AdapterWindow implements Window{ public void open(){}//实现打开窗口 public void close(){}//实现关上窗口 public void activated(){}//实现活动窗户 public void iconifaced(){}//实现窗口最小化 } //子类直接继承AdapterWindow类 可以有选择的重写父类方法 class TestWindow extends AdapterWindow{ public void open(){ System.out.println("打开窗口"); }//重写打开窗口 public void close(){ System.out.println("关上窗口"); }//重写实现关上窗口 } public class Test{ public static void main(String[] args){ Window w = new TestWindow(); w.open(); w.close(); } }