我正在重写父类(super class)中的一个方法,但是我希望这个方法是同步的。 允许吗?有什么替代方案?
最佳答案
是的,这是允许的,因为它不会改变契约(Contract),而是会改变实现。
认为您总是可以简单地添加一个同步块(synchronized block):
synchronized(this) {
就在方法的开头,这将实现大致相同的结果。该方法中还可能有其他(可能隐藏的)更深的锁,这使得它真正成为实现的一部分,而不是 API。
关于java - 我可以同步覆盖的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22553125/