其实你想问的问题是:继承和实现接口有什么区别?为什么我们常用实现接口的方式去实现线程呢?先从线程的本身特点说起,线是一个具有主函数(也叫主线程)的被jvm执行的功能,他与一般函数不一样,你写一个函数放在类里,这个 函数需要被线程调用才执行,也就是说,jvm只是执行主线程,换句话说cpu在线程中轮转。所以线程是一个执行路径(专业术语),比如:你可以定义一个Computer类,里面有听音乐,看电影的功能函数的功能,你呢,想让他们同时执行,那你必须要用到多线程技术,就是在你的computer类中实现两天执行路径。<font color=red>如果你让computer继承Thread,则computer是Thread体系中的了</font>,可以觉得Computer类和Thread没什么关系,所以你可以实现Runnable接口了,这就是区别 |