以下代码将输出程序A 。请你解释一下super.run();
。
class RunnableA implements Runnable{
public void run(){
System.out.println("Program A");
}
}
class MyThread extends Thread{
MyThread(Runnable r){
//set as a target
super(r);
}
public void run(){
//System.out.println("MyThread");
super.run();
}
}
class Demo{
public static void main(String args[]){
RunnableA a1=new RunnableA();
//a1.start(); //Illegal
new MyThread(a1).start();
}
}
答案 0 :(得分:0)
super.run();
表示MyThread
run()
方法执行Thread
的{{1}}方法(调用{{1}传递给构造函数的run()
实例的方法。
因此run()
执行Runnable
new MyThread(a1).start();
方法并打印RunnableA
。
在此示例中,run()
毫无用处,因为它没有向"Program A"
添加任何功能。您可以使用以下命令替换main方法:
MyThread
并获得相同的行为。