Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果基类 A 有一个“public synchronized void method(){}”没有被其派生类 B 覆盖,那么使用的锁是什么(即是派生类对象还是基类对象)访问 B 类中的同步方法?
没有“基类对象”。
synchronized方法锁定在调用它们的实例上。
synchronized
public synchronized void method() { ... };
和
public void method() { synchronized(this){ ... } };
而对于一个超级方法来说this意味着一个类的对象B。所以锁将在对象的一个实例上B。
this
B