As a result, it prints "A". But I can't figure out why! If I don't have the class MyThread and used Thread instead, the result would be "B". Does the run() method of a subclass of Thread have priority over the run() of the runnable passed as target to it? Ana
Ana<p>SCJP 1.4
Sachin Tendulkar
Greenhorn
Joined: Sep 20, 2003
Posts: 27
posted
0
In the example given the run method is being over-ridden. The original run method in Thread calls the run method of the Runnable interface if the thread is passed a Runnable object. In this case the over-riding method changes the behaviour of the run method. It simply prints "A" and never calls the run method of the Runnable interface. As a result at run time the over-ridden run method is called and prints A.
Marlene Miller
Ranch Hand
Joined: Mar 05, 2003
Posts: 1391
posted
0
Here is the run method of the Thread class.
If this method is overridden, target.run() will not be invoked. The run() method of the Runnable object will not be executed.
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.