抽象方法为何不能同时是synchronized的?请达人解释一下。

解决方案 »

  1.   

    abstract的method不能同时是static,native,synchronized
      

  2.   

    abstract method 表示body是空的。
    当一个线程进入synchronized的方法,他拥有了对象的锁,直到他调用wait(),或者运行结束就释放锁,你这个body 是空的,他还需要synchronized?当然子类继承这个类,重载这个方法的时候可以加上synchronized。
      

  3.   

    抽象方法是空的,没有必要进行同步在Java的理念里,没必要的东西就干脆规定算是错误
      

  4.   

    无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而不是把一段代码或函数当作锁