Classes do not have their own monitors; threads are executed.
In your example, WaitTest does not belong to the monitor, the main thread does.
In particular, no other thread can enter a synchronized block on the same object, including calling any of the object synchronized methods if it had such methods.
source share