I believe you're asking why you might want to pass a Runnable instance to Thread's constructor instead of simply extending the Thread class. A compelling reason is given in Core Java 2: Volume II - Advanced Features by Cay S. Horstmann and Gary Cornell...
...forming a subclass of the Thread class ... is no longer recommended. You should decouple the task that is to be run in parallel from the mechanism of running it.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
Can't .... do .... plaid .... So I did this tiny ad instead: