实现多线程有三种方式,但这里只讲两种
方式一:继承Thread类
Thread类的声明如下:
public class Thread implements Runnable {
...
}
- 写个我们自己的类继承Thread类
public class MyThreadExtends extends Thread{
@Override
public void run() {
System.out.println("继承Thread类");
}
}
- 再写个测试类
public class TestThread {
public static void main(String[] args) {
// 父类的引用指向子类的对象
Thread thread = new MyThreadExtends();
thread.start();
}
}
方式二:实现Runnable接口
Runnable接口的声明如下
@FunctionalInterface
public interface Runnable {
...
}
- 写个我们自己的类实现Runnable接口
public class MyThreadImpl implements Runnable{
@Override
public void run() {
System.out.println("实现Runnable接口");
}
}
- 再写个测试类
public class TestRunnable {
public static void main(String[] args) {
// 创建一个实现了Runnable接口的类的对象(接口的引用指向实现类的对象)
Runnable runnable = new MyThreadImpl();
// 将对象作为参数传入Thread类的构造方法中
Thread thread = new Thread(runnable);
// 通过Thread类的对象调用start方法
thread.start();
}
}