I've been study threads for the scjp using the book by Heller and Roberts, 4th edition and I came across this statement which seems vague (for me). could somebody help me by elaborating or better, by giving an example?
"Putting run() in a subclass of Thread may mean that the method cannot access features it needs (or cannot access those features in a clean, reasonable manner)"
I'm not sure what that means either. Perhaps the surrounding text gives it more meaning, but the sentence by itself hints at something not immediately apparent to me.
The obvious disadvantage to extending the Thread class is that you cannot extend another class. It doesn't save you much effort, either.
Implementing the Runnable interface is a better solution; I don't think there's much discussion on that point any more. Some people contend that the options are equivalent because they're both 'legal'. That argument to me is a dull and needlessly defensive argument at best.
Make visible what, without you, might perhaps never have been seen. - Robert Bresson