问题 单项选择题

阅读下面程序 1 public class Try extends Thread{ 2 public static void main(String args[]){ 3 Try t=new Try(); 4 t.start(); 5 } 6 7 public void run(int j){ 8int i=0; 9 while(i<5){ 10 System.out.println(“祝你成功!”); 11i++; 12 } 13} 14 } 该程序要求打印5行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是

A.将第1行的extends Thread改为implements Runnable

B.将第3行的new Try()改为new Thread()

C.将第4行start()改为start(

D.将第7行的public void run(int 改为public void run()

答案

参考答案:D

解析: 本题考查线程的创建。Java语言中提供两种创建线程的方法,一种是通过实现Runnable接口来创建线程,另一种是通过继承Thread类创建线程。显然,题目中的程序是使用第二种方法来创建线程。Thread类中定义了run()方法,所以通过继承 Thread类来创建线程时还要重写Thread类中的run()方法。而run()方法的定义如下: public void run(){ } 题目中的代码比较简单,就是创建了一个线程,这个线程完成的操作就是打印5行“祝你成功”。仔细阅读程序,不难发现第7行有错。在run()方法的定义中是没有参数的,而题目程序中的run方法却带有一个参数。因此,要把第7行的代码改为“public void run()”。因此,本题的正确答案是D。

单项选择题 共用题干题
单项选择题