黑马程序员技术交流社区

标题: 简单的多线程联系出现错误,求解答 [打印本页]

作者: 张振纲    时间: 2012-8-1 14:10
标题: 简单的多线程联系出现错误,求解答
  1. class Xian extends Thread
  2. {
  3. public void run()
  4. {
  5. for (int i=0;i<100 ;i++ )
  6. {
  7. System.out.println(i);
  8. }
  9. }
  10. }
  11. class Main
  12. {
  13. public static void main(String[] args)
  14. {
  15. Xian x = new Xian();
  16. x.start();
  17. for (int a=0 ;a <100 ;a++ )
  18. {
  19. System.out.println(a);
  20. }
  21. }
  22. }
复制代码


作者: 唐志兵    时间: 2012-8-1 14:25

  1. <P>class Xian extends Thread
  2. {
  3.         public void run(){
  4.                 for (int i=0;i<100 ;i++ )
  5.                 {
  6.                         System.out.println(i);
  7.                 }
  8.         }
  9. }

  10. class Main
  11. {
  12.         public static void main(String[] args) {
  13.                 Xian x = new Xian();
  14.                 x.start();
  15.                 for (int a=0 ;a <100 ;a++ ){
  16.                         System.out.println(a);
  17.                 }
  18.         }
  19. }
  20. </P>
复制代码
你的类名为Main,所以你的java文件名也应该为 Main.java.改了之后就能编译了。

作者: 张振纲    时间: 2012-8-1 14:37
唐志兵 发表于 2012-8-1 14:25
你的类名为Main,所以你的java文件名也应该为 Main.java.改了之后就能编译了。
...

我把名字改成Main另存,依然报错,错误一样
作者: 徐然    时间: 2012-8-1 14:59
其实你把你的.java文件的名字随意改一下就行了,
因为你源文件中有名为Thread的父类,而你源文件名字叫Thread.java
编译器就认为你要从Thread类开始编译,而你代码中并没有Thread类的描述
所以编译器就疯了
作者: 张振纲    时间: 2012-8-1 15:08
徐然 发表于 2012-8-1 14:59
其实你把你的.java文件的名字随意改一下就行了,
因为你源文件中有名为Thread的父类,而你源文件名字叫Thread ...



我还是不明白,我已经改了java文件的名字了,可是还是提示我这个错误,难道Main.java也不可以使用?
作者: 刘真    时间: 2012-8-1 15:33
本帖最后由 刘真 于 2012-8-1 15:35 编辑

我试了一下,把文件名改成Main.java 就行了。
  1. class Xian extends Thread {
  2. public void run() {
  3. for (int i = 0; i < 100; i++) {
  4. System.out.println(i);
  5. }
  6. }
  7. }

  8. class Main {
  9. public static void main(String[] args) {
  10. Xian x = new Xian();
  11. x.start();
  12. for (int a = 0; a < 100; a++) {
  13. System.out.println(a);
  14. }
  15. }
  16. }
复制代码

%9]AZM2D$6J~~$B7U672NVU.jpg (42.35 KB, 下载次数: 18)

运行结果

运行结果

作者: 徐然    时间: 2012-8-1 15:35
张振纲 发表于 2012-8-1 15:08
我还是不明白,我已经改了java文件的名字了,可是还是提示我这个错误,难道Main.java也不可以使用? ...

那就是你当前目录下还是有一个Thread.java文件,你把这个删了
要不你编译Main.java的时候,读到父类Thread,在当前目录还是能读到Thread.java
作者: 芦曦    时间: 2012-8-1 16:32
  1. class Xian extends Thread
  2. {
  3.         public void run()
  4.         {
  5.                 for (int i=0;i<10 ;i++ )
  6.                 {
  7.                         System.out.println(Thread.currentThread().getName()+i);
  8.                 }
  9.         }
  10. }
  11. class Main
  12. {
  13.         public static void main(String[] args)
  14.         {
  15.                 Xian x = new Xian();
  16.                 x.start();
  17.                 for (int a=0 ;a <10 ;a++ )
  18.                 {
  19.                         System.out.println(Thread.currentThread().getName()+a);
  20.                 }
  21.         }
  22. }
复制代码
这是你的代码,我只改了个数值,加了个获取线程名,没有任何的错误。可能是你的Java文件重复了。




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