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,它不返回任何内容。
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