I have trouble with the otherwise part.Thread class's run() is an interesting method. If the thread object was constructed using a separate Runnable object, then that Runnable object's run method is called otherwise, this method does nothing and returns.
If I read that it looks if you are saying that the run method isn't invoked or...
But if I create a class extending Thread with an overriding run method and then call that run method on a instance of that class that run method is actually doing what's inside that run-method.
Only if I don't override the run method in a class extending Thread calling run on an instance of that class nothing will happen.