A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱伯斌 初级黑马   /  2012-7-1 15:35  /  1744 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么Runnable要实现run方法,而Thread不需要的呢,只需写start方法就行了?

2 个回复

倒序浏览
实现Runnable要覆盖run方法,而继承Thread也是需要覆盖run方法的。
只不过,在启动线程的时候,这两种方法都是使用start方法启动的,不能用run方法启动。
回复 使用道具 举报
我觉得最本质的你好像没有搞懂,首先   线程的建立可以有两种方式:1,继承Thread类,并复写run方法,然后建立子类对象,start就启用线程了。    2,实现Runnable接口,实现其中的run方法,然后建立一个Thread类的对象,并把实现Runnable接口的对象作为参数传入其中。   这两种方法,都需要复写run的。而第二种方法,真正是线程的是Thread类的对象,但是由于它的参数是实现Runnable接口的对象,所以它运行的方法是这个对象的run。

还有,一般建议用第二种方法,因为避免了单继承的局限性。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马