java吧 关注:1,234,091贴子:12,700,203
  • 7回复贴,共1

【求解答】实现Runnable和继承Thread的区别

只看楼主收藏回复

如果说java单继承的话就算了,这个我还是知道
他们一个是继承run方法,一个实现,这个有什么本质区别?或者用起来有什么不同?


1楼2013-06-16 11:26回复
    Thread类的定义:public class Thread extends Object implements Runnable
    这可以看出Thread类是runnable接口的子类,且Runnable接口中只有一个run方法,Thread类的run()是覆写过的。 启动线程要用start(),该方法还是Thread类(也就是接口的子类)里面的。 所以启动一个实现接口的线程,还是要通过Thread类的start()来进行。


    2楼2013-06-16 12:05
    回复
      本质上都是实现Runnable接口 重写run方法


      IP属地:黑龙江3楼2013-06-16 16:07
      回复
        共享数据


        4楼2013-06-16 17:26
        回复
          继承了 thread就不能继承其它得了


          IP属地:重庆来自Android客户端5楼2013-06-16 17:28
          回复
            没什么本质区别 用继承就绑死了 不能继承自己的类或其他的类 所以我一般喜欢用实现接口


            IP属地:湖南6楼2013-06-16 18:43
            回复
              Thread本身就实现Runnable接口了,都差不多吧,就是Runnable的使用会难一丁点


              7楼2013-06-17 15:18
              回复
                你写一个 Runnable ,这个 Runnable 可以用在很多地方
                可以给很多个 Thread 用,这个 Runnable 也很轻量
                这样的结构比较灵活、清晰
                你直接重写 Thread 中的 run ,
                由于 Thread 其实本身就是一个 Runnable
                所以不是说这个 Thread 不能作为别的 Thread 的参数带入执行
                而是这样话,这个 Runnable(Thread) 显得很重,很冗余,很浪费资源
                如果只是单独自己用的话,又显得不够灵活


                IP属地:江苏8楼2013-06-17 15:26
                回复