There is no such thing as a "class lock". All locks are on object instances. What happens when you call a synchronized static method of a class? When the class gets loaded, an object of the class Class is created. A lock is obtained on this (disregarding classloader issues) uniqueClass object.
You could, I suppose, refer to the above mentioned lock as the "class lock", but is really a normal lock on an object. [ November 15, 2005: Message edited by: Barry Gaunt ]