抽象类和接口他们里面都只是定义了一个没有方法体的方法,而他们的方法又要在实现他们方法的那个类中定义方法体,这样何必不直接在那个实现他们方法的那个类中直接定义方法,而要使用抽象类与接口呢?接口

解决方案 »

  1.   

    这样就可以多态了啊,最典型就是几何图形面积的问题了。我们可以声明一个接口,叫“图形”,这个接口里定义了一个方法,“求面积”。然后我们可以定义“三角形”、“方形”、“圆形”类,都实现“图形”接口,然后每个类都根据自己的形状,实现各自的“求面积”方法。这样,我们后续可以声明一个“图形”索引(比如“图形” shape;),然后用的时候,根据图形具体情况实例化。我们可以: shape = new “三角形”(...);可以 shape = new “方形”(...); 可以shape = new “圆形”(...);最终求面积只需要:shape.“求面积”();就可以得到图形的面积了,而不用关心具体是什么形状。LZ再看看教科书对多态的解释吧,这里举得例子比较简单,体现的不是特明显,在真正复杂场景使用的时候(比如数据源、Spring注入等),体现其灵活性更明显。
      

  2.   

    设计问题是很难说清的。
    http://www.cnblogs.com/healerkx/category/136925.html