黑马程序员技术交流社区

标题: 多线程的一个小问题? [打印本页]

作者: HM刘俊    时间: 2013-3-14 21:46
标题: 多线程的一个小问题?
本帖最后由 632485820 于 2013-3-14 22:02 编辑

为什么我的代码运行起来说找不到start方法?
  1. class Test extends Thread{
  2. public void run(){
  3. for(int x=0;x<60; x++){
  4.      System.out.println("run=="+x);
  5.       }
  6.     }
  7.   }
  8.   class Thread{
  9.   public static void main(String[] args){
  10.     Test t1=new Test();
  11.    Test t2=new Test();
  12.     t1.start();
  13.     t2.start();
  14.    for(int i=0; i<60; i++){
  15.    System.out.println("test=="+i);
  16. }   
  17.    }
  18. }
复制代码
不是已经继承了Thread类了吗?
怎么还会报错。

作者: 沈子豪    时间: 2013-3-14 21:53
你这本来应该是继承Thread类的,但是你把主函数的类命名为Thread当然不可以!!做如下改动就行了
class Test extends Thread{
public void run(){
for(int x=0;x<60; x++){
     System.out.println("run=="+x);
      }
    }
  }
  class n1{
  public static void main(String[] args){
    Test t1=new Test();
   Test t2=new Test();
    t1.start();
    t2.start();
   for(int i=0; i<60; i++){
   System.out.println("test=="+i);
}   
   }
}
作者: 范天成    时间: 2013-3-14 22:00
class Test extends Thread{
public void run(){
for(int x=0;x<60; x++){
     System.out.println("run=="+x);
      }
    }
  }
  class Thread{                            //这里,Thread是已有的类,改个名字
  public static void main(String[] args){
    Test t1=new Test();
   Test t2=new Test();
    t1.start();
    t2.start();
   for(int i=0; i<60; i++){
   System.out.println("test=="+i);
}   
   }
}
作者: 刘辉    时间: 2013-3-14 22:03
主函数的类名不能定义成Thread,,换个就行了
作者: HM刘俊    时间: 2013-3-14 22:04
太粗心了。下次注意




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2