阅读以下程序段,找出错误并分析 public class Test implements Thread{ public static void main(String args[]){ Test t = new Test(); Thread tt = new Thread(t); tt.start(); } public void run(){ for(int i=0;i<5;i++){ System.out.println("i="+i); } } }
时间: 2023-12-01 07:04:13 浏览: 46
java面试进阶讲义
该程序段存在以下几个错误:
1. 类Test实现了Thread接口,但实际上应该是扩展Thread类或实现Runnable接口。
2. 在创建Thread对象时,应该将Test对象作为参数传入Thread的构造方法中,而不是将Test对象直接赋值给Thread类型的引用变量。
下面是修正后的程序:
```
public class Test extends Thread {
public static void main(String args[]){
Test t = new Test();
t.start();
}
public void run(){
for(int i=0;i<5;i++){
System.out.println("i="+i);
}
}
}
```
在修正后的程序中,Test类继承了Thread类,并重写了run()方法。在main()方法中,创建了Test对象t,并调用了其start()方法启动线程。在run()方法中,打印了5次"i="加上循环变量i的值。
阅读全文