Jeanne Boyarsky wrote:The superclass' run method delegates to your Runnable's run method.
Sequence:
new Extender(new Implementer()) --> calls superclass which stores a reference to Implementer.
.start() --> calls run method on the new thread which delegates to Implementer's run method.
I thought the code highlighted in red will call Implementers run method as you stated,,, but surprisingly!!! the above code is calling Extenders run method, not Implementers
Then, I dig into thread class and found the catch in run method implementation of Thread class
So,the conclusion is when we extend a Thread and override run method,then run method of target/Runnable is ignored