...
If a superclass uses an internal private lock to synchronize shared data, subclasses must also use an internal private lock. However, if it uses intrinsic synchronization over the class object, subclasses may not use intrinsic synchronization over its their own class object, unless they explicitly document this locking policy.
...