阅读下面程序 1 public class Try extends Thread{ 2public static void main(String args[]){ 3 Try t=new Try(); 4 t.start(); 5 } 6 7public void run(int j){ 8 int i=0; 9 while(i<5){ 10 System.out.println(“祝你成功!”); 11 i++; 12 } 13 } 14} 该程序要求打印5行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是【 】
A.将第1行的extendsThread改为implementsRunnable
B.将第3行的newTry()改为newThread()
C.将第4行t.start()改为start(t)
D.将第7行的publicvoidrun(intj)改为publicvoidrun()
参考答案:D
解析:本题考查线程的创建。Java语言中提供两种创建线程的方法,一种是通过实现Runnable接口来创建线程,另一种是通过继承Thread类创建线程。显然,题目中的程序是使用第二种方法来创建线程。Thread类中定义了run()方法,所以通过继承 Thread类来创建线程时还要重写Thread类中的run()方法。而run()方法的定义如下: public void run(){ } 题目中的代码比较简单,就是创建了一个线程,这个线程完成的操作就是打印5行“祝你成功”。仔细阅读程序,不难发现第7行有错。在run()方法的定义中是没有参数的,而题目程序中的run方法却带有一个参数。因此,要把第7行的代码改为“public void run()”。因此,本题的正确答案是D。