title: Why "implements Runnable" is Preferred over "extends Thread"?
body: <p>The Java <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html" rel="noreferrer">Thread</a> itself implements a Java <code>Runnable</code>! and according to most of the experts over Internet, <a href="https://stackoverflow.com/questions/541487/implements-runnable-vs-extends-thread">implements Runnable is preferred over extends Thread</a>! even though <a href="https://stackoverflow.com/questions/12020805/advantage-of-thread-over-runnable">we cannot use utilize Runnable</a> in the sense of thread with out the Thread class!<br>
  Then why do we prefer to implement <code>Runnable</code> over extending <code>Thread</code> since in both cases the actual thread is stated by calling a <code>Thread</code> implemented method (i.e. <code>start()</code> or <code>run()</code>) although in case of <code>Thread</code> we are not truly "extending" the functionality of <code>Thread</code> by merely overriding the <code>run()</code> method?</p>
  
  <p>I apologies if I sound confusing..!</p>