java里接口不是一个只有方法名没有方法体的空壳吗?那为什么实现了Runnable接口的类就有了多线程功能呢?

 我来答
百度网友d208a3406
2010-11-07 · 超过19用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:39.1万
展开全部
你可以比较一下创建线程的两个方法,继承Thread类和实现Runnable接口:
① class A extends Thread {public void run() {}}
main() {new A().start();}
② class A implements Runnable {public void run() {}}
main() {new Thread(new A()).start();}
注意看②里面的new Thread,你者雹说的对,单独A实现了Runnable是没有多线程的功能的,必须new Thread创建线程,然后将A的实例作为参数产给它,这样和Thread合起来才实现了线程的功能。
这两种方念嫌好法是面向对象的两种设计思想的体现,即继承和组合,①是继承,将Thread继承过来,加上A自己的东西(run方法)构成完整的线程,②是仔铅组合,将Thread和A组合起来,构成线程。面向对象的原则是:尽量用组合替代继承,所以推荐第二种方法。
百度网友0d5a38b6b
2010-11-07
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
若一个非抽象类实现一个接口,就必须重写接口中所有的方法,游念所以你实现Runnable接口时,会重写run()方法,run()方法扮磨逗只是把该线程编程可就绪状态,start()方法是将该线程变为可厅卖运行状态,好好理解下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oppps
2010-11-07 · TA获得超过2742个赞
知道小有建树答主
回答量:1488
采纳率:0%
帮助的人:1260万
展开全部
实现Runnable接口的类中要重写run()方法的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式