为什莫CenericServlet抽象类实现这三个接口而不是HttpServlet实现呢?
    因为CenericServlet类中实现了这三个接口中的类,多了一些自己独有的方法,当有子类继承他时,不用完全实现这三个接口中的所有方法,子类可以选择重写。多个有相同特征的类抽象成一个父类,只需重写抽象类中的抽象方法。而可以有自己独有的方法。
    例如。
    Box接口——— 定义规则
    add() get() remove() size()
    addAll() addFirst() addLast()
    AbstractBox抽象类
    add() get() remove() size()
    addAll() addFirst() addLast() 抛出异常,这三个类不能是Abstract的。
    ArrayBox——继承了AbstractBox
    add() get() remove() size()
    LinkedBox———继承了AbstractBox
    add() get() remove() size()
    addAll() addFirst() addLast()
    这种情况下如果父类不重写**addAll() addFirst() addLast()方法,那么ArrayBox就得重写**addAll() addFirst() addLast(),但是ArrayBox没有这类方法。则需要父类重写。