This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
ok,i dont have exact explanation but i think that the methods wait(),notify(),notifyall(),can only be called by a thread that is the owner of this object's monitor.
A thread becomes the owner of the object's monitor in one of three ways:
By executing a synchronized instance method of that object. By executing the body of a synchronized statement that synchronizes on the object. For objects of type Class, by executing a synchronized static method of that class. Only one thread at a time can own an object's monitor.
i think thats why these methods are in Object class rather in Thread class.