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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑元皓 中级黑马   /  2013-5-20 17:20  /  1096 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

使用多线程如果继承了Thread类以后是不是一定要覆盖run方法?还有线程中实现Runnable接口覆盖中的run方法和Thread有什么区别?还有就是多线程为什么一般都实现Runnable?是不是只是因为单继承的局限性问题?谁能和我概括性的简单讲解下。。不要大量复杂的信息复制给我看哦。很乱的。。谢谢

2 个回复

倒序浏览
本帖最后由 殇_心。 于 2013-5-20 18:28 编辑

1.一般是需要覆盖。因为你的定义的线程有你自己运行的方式,所以你懂的
2.基本没什么区别。继承Thread后不能继承其它类。实现Runnable还可以继承其它类
实现Runnable的话  必须复写run方法,而继承Thread的话可以不用复写(这样没含义)
3.是因为单继承的局限性
回复 使用道具 举报
继承了Thread类后可以不覆盖(编译不会报错),但是你设定的线程都要实现你自己定义的功能,而run方法是线程的入口,所以一般都要覆盖run()方法。实现Runnable接口不但是为了解决单继承的局限性,而且会使程序看上去更加整洁和独立。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马