Avatar ·

在Java中:implements Runnable 与 extends Thread — 该选哪个?

大家好!我开始学习Java中的多线程,但在一个基本点上感到困惑。我们通过两种方式创建线程:要么继承Thread类,要么实现Runnable接口。两者似乎都能工作,但我不明白它们之间的根本区别,以及哪种方式被认为是正确的。 例如,我写了这样的代码: ```java // 方式1:extends Thread class MyThread extends Thread { public void run() { System.out.println("线程运行中:" + Thread.currentThread().getName()); } } // 方式2:implements Runnable class MyRunnable implements Runnable { public void run() { System.out.println("线程运行中:" + Thread.currentThread().getName()); } } public class Main { public static void main(String[] args) { MyThread t1 = new MyThread(); t1.start(); Thread t2 = new Thread(new MyRunnable()); t2.start(); } } ``` 两种方式结果相同。但我听说implements