从结果上来说 并没有什么区别 但从实现上来看
implements Runnable 要优于extends Thread 
你想把一个操作放到一个线程里去,但这个操作本身并不是一个线程,所以extends Thread的做法并不是很合理 

解决方案 »

  1.   

    实现Runnable接口的目的是避免重载标准的Thread方法,可以将线程要完成的任务写成Runnable接口的一个实例!
      

  2.   

    有时你可能已经extends了另一个类,这时就只能implements了!
      

  3.   

    这就要看你的那个类是用来干什么的了,我建议你最好看看abstract class与interface的区别,里面说的很清楚。
      

  4.   

    只能extends一个父类,但可以implements多个接口。
      

  5.   

    当我们要继承一个非Thread的类,而又要在该类中实现一个线程,这时候就要用implements Runnable。