Well so many good Answers, i want to add more on this, This will help to understand Extending v/s Implementing Thread_
Extends binds two class files very closely and can cause some pretty hard to deal with code.
Both approaches do the same job but there have been some differences.
The most common difference is
- When you extends Thread class, after that you can’t extend any other class which you required. (As you know, Java does not allow inheriting more than one class).
- When you implements Runnable, you can save a space for your class to extend any other class in future or now.
However, one significant difference between implementing Runnable and extending Thread is that
by extending Thread, each of your threads has a unique object associated with it, whereas implementing Runnable, many threads can share the same object instance.
我好懒,不想翻译了,哈哈