在 Java 中重写同步方法
2022-08-31 20:58:19
假设我在某个类上有一个同步方法:
abstract class Foo {
public synchronized void foo() { // synchronized!
// ...
};
}
我在不使用同步修饰符的情况下覆盖了它:
class Bar extends Foo {
@Override
public void foo() { // NOT synchronized!
super.foo();
// ...
}
}
关于这种情况,我有几个具体问题:
- 重写的方法是否也会隐式同步?
- 如果没有,-call 是否会同步?
super
- 如果没有 -call,是否会同步任何内容?
super
- 有没有办法强制使用重写方法(我注意到接口内的抽象方法定义或方法定义不允许使用synced关键字)?
synchronized