如题:

解决方案 »

  1.   

    类似接口,只是抽象类中可以有普通属性,而接口中会默认为public static final;
    且抽象类中除了抽象方法还可以有实现方法
      

  2.   

    抽象类可以分担子类的功能,减轻子类的压力,这是Design Pattern里的Template Method Pattern。
    这样设计的好处是父类已经实现了算法,子类就不必逐一实现了
    例:public abstract class AbstractPrint {
        public abstract void start(); // 子类负责的实现(打印的内容)
        public abstract void end();
        public abstract void print();
        public final void printAll() {  // 父类实现的逻辑(打印模板)
            start();
            for (int i = 0; i < 5; i++) {
                print();
            }
            end();
        }
    }class PrintNumber extends AbstractPrint {
        int number = 0;
        public PrintNumber(int number) {
            this.number = number;
        }    public void start() {
            System.out.print("[");
        }    public void end() {
            System.out.println("]");
        }    public void print() {
            System.out.print(number);
        }
    }class PrintAlpha extends AbstractPrint {
        char alphabet;
        public PrintAlpha(char alphabet) {
            this.alphabet = alphabet;
        }    public void start() {
            System.out.print("{");
        }    public void end() {
            System.out.println("}");
        }    public void print() {
            System.out.print(alphabet);
        }
    }