i am shocked after this question java is really very very unpredictable,its just compillers mood that decide what to run and what to not....
lookin at start(); method compiler forgets that its a thread and it should call run(); instead it prefered THE start();
i cant bear it any more, on 1st april i am having scjp exam and such type of questions are making me nervous!!
but still i am determined...to beat scjp !!
hello himanshu kesarwani !!
Initially look at the code, you are creating the object of Th and not that of Thread class.
The compiler treats start() as a local method to the class Th , and invokes the start method.
If you create a Thread object and call the start method then you can see the run() method being invoked