在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