简述 Thread 可以被继承吗?
参考答案:
Thread 类在 Java 中是可以被继承的。Java 中的 Thread 类是一个用于创建和控制线程的类,它实现了 Runnable 接口。当你需要创建一个新的线程时,可以通过两种方式来实现:
- 继承 Thread 类:你可以创建一个新的类,继承自 Thread 类,并重写其 run() 方法。然后,你可以创建这个新类的实例,并调用其 start() 方法来启动一个新的线程。
public class MyThread extends Thread {
@Override
public void run() {
// 线程执行的代码
}
}
然后你可以这样创建并启动线程:
MyThread thread = new MyThread();
thread.start();
- 实现 Runnable 接口:另一种创建线程的方式是实现 Runnable 接口,并重写其 run() 方法。然后,你可以将这个 Runnable 实例传递给 Thread 类的构造函数,创建一个 Thread 对象,并调用其 start() 方法来启动线程。
public class MyRunnable implements Runnable {
@Override
public void run() {
// 线程执行的代码
}
}
然后你可以这样创建并启动线程:
Thread thread = new Thread(new MyRunnable());
thread.start();
虽然 Thread 类可以被继承,但在实际开发中,更推荐使用实现 Runnable 接口的方式来创建线程。这是因为 Java 不支持多重继承,如果一个类已经继承了其他类,那么它就不能再继承 Thread 类。而实现 Runnable 接口则没有这个问题,因为 Java 允许一个类实现多个接口。此外,使用 Runnable 接口还有助于实现线程之间的共享资源,因为可以创建多个线程实例共享同一个 Runnable 对象。