作者forris (乔巴)
看板java
标题[问题] 猛虎一书第 112 题
时间Wed May 7 01:06:49 2008
是讲 Thread
Which two code fragments will execute the method doStuff() in a separate
thread? (Choose two)
A. new Thread(){
public void run(){doStuff();}
};
B. new Thread(){
public void start(){doStuff();}
};
C. new Thread(){
public void start(){doStuff();}
}.run();
D. new Thread(){
public void run(){doStuff();}
}.start();
E. new Thread( new Runnable() {
public void run(){doStuff();}
}).run();
F. new Thread()( new Runnable(){
public void run(){doStuff();}
}).start();
我要问我把 E,F 丢给 compiler, 在 main 中放入上面选项的程式码,
外面实作 doStuff():
public static void doStuff(){
System.out.println("Hi");
}
竟然 E 可以执行, A ~ E 都用相同方法却可以通过编译,
但 F 却出现 "未对类型 new Runnable(){} 定义方法 start()" 的错误,
这是怎麽一回事?
~
~
~
~
~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.116.192.206
1F:推 LPH66:有Thread.start()但没有Runnable.start() 05/07 01:50