我是JAVA亲手,学习线程的时候遇到这个问题了,是什么问题啊,请教大师们啊
class MutiThread{
public static void main(String args[]){

MyThread mt=new MyThread();
mt.start();
System.out.println("main:"+Thread.currentThread().getName());
}
}

class MyThread extends Thread{
public void run(){
System.out.println(getName());
}
}
结果如下:E:\Daisy-temp\java\>javac MutiThread.javaE:\Daisy-temp\java\>java MutiThread
Exception in thread "main" java.lang.NoClassDefFoundError: MutiThread
Caused by: java.lang.ClassNotFoundException: MutiThread
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: MutiThread.  Program will exit.

解决方案 »

  1.   

    用java -cp .MutiThread试试不行就可能是包的事,你的package是什么
      

  2.   

    用java -cp . MutiThread试试不行就可能是package的事这不是线程的问题
      

  3.   

    对, 是你的包结构的问题. 跟你的代码没有关系.
    我刚才给你测试了一下.代码:class MutiThread{
    public static void main(String args[]){MyThread mt=new MyThread();
    mt.start();
    System.out.println("main:"+Thread.currentThread().getName());
    }
    }class MyThread extends Thread{
    public void run(){
    System.out.println(getName());
    }
    } 运行结果是:
    C:\Documents and Settings\Administrator\桌面>javac MutiThread.javaC:\Documents and Settings\Administrator\桌面>java MutiThread
    main:main
    Thread-0
    C:\Document
    main:main
    Thread-0
    C:\Document
    main:main
    Thread-0
    C:\Document
    main:main
    Thread-0
      

  4.   

    对, 是你的包结构的问题. 跟你的代码没有关系.
    我刚才给你测试了一下.代码:
    class MutiThread{
    public static void main(String args[]){MyThread mt=new MyThread();
    mt.start();
    System.out.println("main:"+Thread.currentThread().getName());
    }
    }class MyThread extends Thread{
    public void run(){
    System.out.println(getName());
    }
    } 运行结果是:
    C:\Documents and Settings\Administrator\桌面>javac MutiThread.javaC:\Documents and Settings\Administrator\桌面>java MutiThread
    main:main
    Thread-0 刚才打多了..
      

  5.   

    谢谢你了,我是一名新手,以前是学ORACL的,还是在读书的时候学的JAVA,忘记得差不多了,现在想补回来,在学习中,谢谢你了