有了接口可以做统一的规则约束
每一个子类都实现同一个规则 用户使用起来很容易
如果按照上述方式来实现 接口一旦添加了新的规则 所有的子类都需要跟着添加新的方法
所以就有了 缺省适配器
package test_array;public interface Box {//接口public boolean addNum(Object value);public Object getNum(int index);public Object deleteNum(int index);public int size();public void addNum(int index,Object value);//接口新添加的规则}
package test_array;public abstract class AbstractBox implements Box{//缺省适配器新添加的中间继承类public abstract boolean addNum(Object value);public abstract Object getNum(int index);public abstract Object deleteNum(int index);public abstract int size();public void addNum(int index,Object value){}//若不想子类继承这个方法 可以直接自定义一个异常 或者抽象方法具体化(留一个空的方法体)}
package test_array;public class ArrayBox extends AbstractBox{public boolean addNum(Object value){return true;}public Object getNum(int index){return boxDate[index];}public Object deleteNum(int index){return oldValue;}public int size(){return this.size;}//这样子类只需要实现父类中AbstractBox中的前四个方法 接口中新添加的规则子类可以不实现}
