Java 我可以使重写的方法同步吗?

Java 我可以使重写的方法同步吗?,java,synchronized,overriding,Java,Synchronized,Overriding,我正在重写超类中的一个方法,但是我希望这个方法是同步的。 允许吗?替代方案是什么?是的,这是允许的,因为它不改变合同,而是改变实施 您可以简单地添加一个同步块: synchronized(this) { 就在方法的开始阶段,这将获得大致相同的结果。方法中可能还有其他(可能隐藏的)锁,这使它成为实现的一部分,而不是API。你的意思是同步块对吗?我应该试试这个。谢谢。@user1612078您不需要使用同步块,因为您可以使整个方法同步。仅当不总是需要同步时(或者如果方法的很大一部分可以不受保护)

我正在重写超类中的一个方法,但是我希望这个方法是同步的。
允许吗?替代方案是什么?

是的,这是允许的,因为它不改变合同,而是改变实施

您可以简单地添加一个同步块:

synchronized(this) { 

就在方法的开始阶段,这将获得大致相同的结果。方法中可能还有其他(可能隐藏的)锁,这使它成为实现的一部分,而不是API。

你的意思是
同步块
对吗?我应该试试这个。谢谢。@user1612078您不需要使用同步块,因为您可以使整个方法同步。仅当不总是需要同步时(或者如果方法的很大一部分可以不受保护),才使用同步块。