线程类public void run()包java.lang.Thread.run()中提供了此方法。
线程的run()方法包含线程的可执行代码。
此方法不是静态的,因此我们也无法使用类名访问此方法。
线程类包含run()具有空实现的方法。
我们可以run()在类中重载方法,但是Thread类start()默认情况下仅调用默认run()方法,如果要调用另一个run()方法,则需要像普通方法一样显式调用。
如果我们run()在类中重写该方法,则它包含任务,因此我们的线程负责执行此方法。
如果我们不在run()类中重写方法,则该run()方法将由Thread类执行,并且由于Thread类定义的run()方法的实现为空,因此不会获得任何输出。
此方法的返回类型为void,因此它不返回任何内容。
语法:public void run(){
}
参数:
当我们编写t.start()时,此行表示start()Thread的调用方法和Thread类start()将调用run()我们定义的类的方法。
返回值:
此方法的返回类型为void,它不返回任何内容。
Java程序演示run()方法示例/* We will use Thread class methods so we are
importing the package but it is not mandate
because it is imported by default
*/
import java.lang.Thread;
class MyThread extends Thread {
//run()Thread类的重写方法
public void run() {
System.out.println("We are in run() method of MyThread thread");
}
}
class Main {
public static void main(String[] args) {
//这里我们调用run()MyThread的方法
//像普通方法一样的类
MyThread mt = new MyThread();
mt.run();
//这里我们在调用start()Thread类的方法
//它将调用run()MyThread的方法
mt.start();
//这里我们在调用run()Thread类的方法
Thread t = new Thread();
t.run();
}
}
输出结果E:\Programs>javac Main.java
E:\Programs>java Main
We are in run() method of MyThread thread
We are in run() method of MyThread thread