Exception in thread "main" java.lang.NoSuchMethodError: MyThread.<init>(Ljava/lang/String;)V
at TextSleepYield.main(TextSleepYield.java:6)
这个就是报错的指令,本人不太清楚是怎么回事。麻烦大家给解答一下,先谢谢了public class TestSleepYield 
{
public static void main(String[] args)
{
MyThread t1 = new MyThread("t1");
MyThread t2 = new MyThread("t2");
//设置优先级
t2.setPriority(Thread.MAX_PRIORITY);
t1.start();
t2.start();
}
}class MyThread extends Thread
{
MyThread(String s)
{
super(s);
}

public void run()
{
for(int i = 1;i <= 30;i ++)
{
System.out.println(getName()+":"+i);
if(i%5==0)
{
//睡眠
try
{
sleep(10);
}
catch(InterruptedException e)
{
e.printStackTrace();
}

//让位
//yield();
}
}
}
}

解决方案 »

  1.   

    new MyThread("t1");
    thread没有一个接收字符串为参数的构造函数
    你的构造函数要这样写
    MyThread(String s)
    {
    super();
    setName(s);
    }
      

  2.   

    没有这样的方法.因此报错.
    应该是在super(s);这行报错..不支持这种方法.
      

  3.   

    JDK版本太低或者JDK出问题了,重装之。
      

  4.   

    确实是对的程序,但是我不知道为什么eclipse一直报错。我都无语.......
    是不是我的eclipse不好使了?
      

  5.   

    程序没错,可能是eclipse的jdk设置的不正确。
      

  6.   

    程序没有错误,super(s)用的是父类的构造方法,可能是你的jdk版本或者设置不正确,可以重新再cmd命令下试试,如果可以的话,那就是你的eclipse有问题,再换一个eclipse就好了。