gpt4 book ai didi

java - Java 中的 "implements Runnable"与 "extends Thread"

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:33 25 4
gpt4 key购买 nike

自从我在 Java 中使用线程以来,我发现了这两种编写线程的方法:

使用实现可运行:

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

或者,使用扩展线程:

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

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

最佳答案

是的:实现Runnable是首选方法,IMO。您并没有真正专门化线程的行为。你只是给它一些运行的东西。这意味着composition哲学上“更纯粹”的方法。

实用术语来说,这意味着您可以实现Runnable并从另一个类扩展......并且您还可以从Java 8开始通过lambda表达式实现Runnable

关于java - Java 中的 "implements Runnable"与 "extends Thread",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29444895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com