Java中的“实现Runnable”与“扩展线程”

Java中的“实现Runnable”与“扩展线程”

从我在Java中使用线程的时间开始,我发现了这两种编写线程的方法:

implements Runnable

public class MyRunnable implements Runnable {
    public void run() {
        //Code
    }}//Started with a "new Thread(new MyRunnable()).start()" call

或者,用extends Thread

public class MyThread extends Thread {
    public MyThread() {
        super("MyThread");
    }
    public void run() {
        //Code
    }}//Started with a "new MyThread().start()" call

这两个代码块有什么显着差异吗?


慕妹3242003
浏览 571回答 4
4回答

智慧大石

是的:实施Runnable是首选的方式,IMO。你并不是真正专注于线程的行为。你只是给它一些东西来运行。这意味着构图是哲学上 “更纯粹”的方式。在实践方面,它意味着你可以实现Runnable从另一个类扩展为好。

BIG阳

故事的道德启示:仅在您要覆盖某些行为时继承。或者更确切地说,它应该被理解为:继承少,界面更多。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java