单选题 阅读下列代码段:
class Test implements Runnable{
public int run(){
int i=0;
while(true){
i++;
System.out.println("i="+i);
}
}
}
上述代码的编译结果是______。
  • A.程序通过编译并且run()方法可以正常输出递增的i值
  • B.程序通过编译,调用run()方法将不显示任何输出
  • C.程序不能通过编泽,因为while的循环控制条件不能为“true”
  • D.程序不能通过编译,因为run()方法的返回值类型不是void
【正确答案】 D
【答案解析】[解析] 定义线程包括两种办法: ①扩展java.lang.Thread类。如果线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方法不执行任何操作并返回。 ②实现java.lang.Runncable接口。实现接口Runnable的对象创建一个线程时,启动该线程将导致在独立执行的线程中调用对象的run方法。方法run的常规协定是,它可能执行任何所需的操作。本题应该选择D。