Java 中只支持单继承,一个类一旦继承了某个父类就无法再继承 Thread 类,比如学生类 Student 继承了 Person 类,就无法通过继承 Thread 类创建线程。
为了克服这种弊端, Thread 类提供了另外一个构造方法 Thread ( Runnable target ),其中 Runnable 是一个接口,它只有一个 run ()方法。
当通过 Thread ( Runnable target )构造方法创建线程对象时,只需为该方法传递一个实现了 Runnable 接口的实例对象,这样创建的线程将调用实现了 Runnable 接口中的 run ()方法作为运行代码,而不需要调用 Thread 类中的 run ()方法。
通过实现Runnable接口来创建多线程
案例:
public class ExampleM03 {
public static void main(String[] args) {
MyThread03 myThread03 = new MyThread03();//创建 MyThread 的实例对象
Thread thread =new Thread(myThread03); //创建线程对象
thread.start(); //start()开启多线程,执行线程中的 run()方法
while (true) {
System.out.println("Main()方法在运行");
}
}
}
class MyThread03 implements Runnable {
public void run() { //线程的代码段,当调用 start()方法时,线程从此处开始执行
while (true) {
System.out.println("MyThread 类的 run()方法在运行");
}
}
}
MyThread 类实现了 Runnable 接口,并重写了 Runnable 接口中的 run ()方法,通过 Thread 类的构造方法将 MyThread 类的实例对象作为参数传入。从运行结果可以看出, main ()方法和 run ()方法中的打印语句都执行了,说明例程实现了多线程。