问个问题,做个线程的话,继承Thread和实现Runnable有什么区别呢? 问个问题,做个线程的话,继承Thread和实现Runnable有什么区别呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 implement的话一定要实现Runnable里的所有方法extend则不一定了 来源: tij3Runnable接口只有一个方法,那就是run( ),但是如果你想对它做一些Thread对象才能做的事情(比方说toString( )里面的getName( )),你就必须用Thread.currentThread( )去获取其reference。Thread类有一个构造函数,可以拿Runnable和线程的名字作参数。如果对象是Runnable的,那只说明它有run( )方法。这并没有什么特别的,也就是说,不会因为它是Runnable的,就使它具备了线程的先天功能,这一点同Thread的派生类不同的。所以你必须像例程那样,用Runnable对象去创建线程。把Runnable对象传给Thread的构造函数,创建一个独立的Thread对象。接着再调用那个线程的start( ),由它来进行初始化,然后线程的调度机制就能调用run( )了。Runnable interface的好处在于,所有东西都属于同一个类;也就是说Runnable能让你创建基类和其它接口的mixin(混合类)。如果你要访问其它东西,直接用就是了,不用再一个一个地打交道。但是内部类也有这个功能,它也可以直接访问宿主类的成员。所以这个理由不足以说服我们放弃Thread的内部类而去使用Runnable的mixin。Runnable的意思是,你要用代码——也就是run( )方法——来描述一个处理过程,而不是创建一个表示这个处理过程的对象。在如何理解线程方面,一直存在着争议。这取决于,你是将线程看作是对象还是处理过程[68]。如果你认为它是一个处理过程,那么你就摆脱了"万物皆对象"的OO教条。但与此同时,如果你只想让这个处理过程掌管程序的某一部分,那你就没理由让整个类都成为Runnable的。 接口Runnable 定义并发性质类Thread 实现 Runnable 主要是JAVA单继承的原因,实现Runnable接口更灵活。 JAVA Local到底怎么用啊?? 帮我设置下环境变量classpath和Path设置 java操作连接池的相关问题 请问:xp环境下path环境变量如何恢复? 请教关于学习方向的问题 jxl读excel乱码问题 予览jsp网页时报错,怎样解决这问题啊? 关于图片处理问题 寻找精通JAVACC的人,有问题请教 java.lang.UnsupportedClassVersionError: org/apache/catalina/ant/ReloadTask (Unsu 关于异常处理的问题 请高手帮我解决下finalize的用法问题,我对此不很了解!在此先谢谢了!!
extend则不一定了
类Thread 实现 Runnable