class ThreadPractice
{
public static void main(String[] args) 
{
ThreadA mt=new ThreadA();

mt.start();
        System.out.println(Thread.currentThread.getName());

}
}class ThreadA extends Thread
{
public void run()
{
System.out.println(getName());
}
}很简单的一段关于线程的代码,编译总是报错。问题在哪儿呢?请各位不吝赐教!

解决方案 »

  1.   

    duplicate class?你已经有了ThreadPractice 或者ThreadA 类了吧
    换个名字或者package
      

  2.   

    Thread.currentThread.getName()??Thread.currentThread().getName()
      

  3.   

    编译之前已经把.class文件删掉了呀?结果还是报错,不懂!另外,以下代码我编译多少次都一样通过,
    class ThreadPractice
    {
    public static void main(String[] args) 
    {
    ThreadA mt=new ThreadA();
    mt.run();
    //mt.start();
            //System.out.println(Thread.currentThread().getName());
    System.out.println("hello world");
    }
    }class ThreadA //extends Thread
    {
    public void run()
    {
    //System.out.println(getName());
    System.out.println("ThreadA");
    }
    }
    就是2个普通类,为什么这时候又不说duplicate class呢?为什么一用到线程,就报错呀?大家帮帮忙呀!
      

  4.   

    我本来没有加package,听了楼上兄台的建议,加了个包,把2个类给包起来,编译就通过了!不过还是不明白,如果不加package,那是什么意思?为什么加了就好了呢?