如果改为abstract void draw()
public class square implements shape 就要变为 
abstract class square extends shape 并且不可以实例化,直到其中的方法全部实现才可以
另外抽象类在继承的时候也会遇到麻烦

解决方案 »

  1.   

    能否举个例子 abstract 和 interface的区别?
    谢谢
      

  2.   

    abstract class shape{
      abstract void draw();  
      abstract void eraser();
      // 新方法
      public void callMe() {
        draw();
        erase();
      }
    }public class square extend shape{
      public void draw(){}
      public void eraser(){}
    }public class circle extend shape{
    ...
    }class test {
      shape s = new square();
      s.callMe();
    }
      

  3.   

    interface可以多重继承,Abstract Class不能。
    Abstract Class有方法的默认实现,接口没有。
    Abstract Class方法扩展不会对原有继承产生影响,Interface方法扩展会影响所有实现该接口的类。
      

  4.   

    公共的接口必须在其实现的类中完全实现,而abstract的接口则不必在其实现的类中完全实现。