请解释以下代码的输出:
如果我打电话th1.run(),输出是:
EXTENDS RUN>>
RUNNABLE RUN>>
Run Code Online (Sandbox Code Playgroud)
如果我打电话th1.start(),输出是:
RUNNABLE RUN>>
EXTENDS RUN>>
Run Code Online (Sandbox Code Playgroud)
为什么这种不一致?请解释.
class ThreadExample extends Thread{
public void run() {
System.out.println("EXTENDS RUN>>");
}
}
class ThreadExampleRunnable implements Runnable {
public void run() {
System.out.println("RUNNABLE RUN>>");
}
}
class ThreadExampleMain{
public static void main(String[] args) {
ThreadExample th1 = new ThreadExample();
//th1.start();
th1.run();
ThreadExampleRunnable th2 = new ThreadExampleRunnable();
th2.run();
}
}
Run Code Online (Sandbox Code Playgroud)