Why wasn\'t the java.lang.Object class declared to be abstract ?
java.lang.Object
Surely for an Object to be useful it needs added state or behaviour, an Object class is
You can instantiate Object for synchronization locks:
Object
Object lock = new Object(); void someMethod() { //safe stuff synchronized(lock) { //some code avoiding race condition } } void someOtherMethod() { //safe code synchronized(lock) { //some other stuff avoiding race condition } }