如果基类A有一个“public synchronized void method(){}”,它没有被派生类B覆盖,那么 用于访问B类中的synchronized方法的锁是什么(即它是派生类对象还是基类对象)?
答案 0 :(得分:4)
没有“基类对象”。
synchronized
方法锁定了它们被调用的实例。
答案 1 :(得分:0)
public synchronized void method() {
...
};
与
相同public void method() {
synchronized(this){
...
}
};
对于超级方法this
表示类B
的对象。因此,锁定将位于对象B
的实例上。