为什么一直报错?

an9054 2011-10-19 08:07:27
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();
}
}
}
}
...全文
111 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
王二北 2011-10-19
  • 打赏
  • 举报
回复
程序没错,可能是eclipse的jdk设置的不正确。
an9054 2011-10-19
  • 打赏
  • 举报
回复
确实是对的程序,但是我不知道为什么eclipse一直报错。我都无语.......
是不是我的eclipse不好使了?
annan211 2011-10-19
  • 打赏
  • 举报
回复
没有错误只是说明表面没有语法错误 但是逻辑上面可能会出错,出现这种错误的原因很可能是你的方法定义有问题
Java高知社区 2011-10-19
  • 打赏
  • 举报
回复
哎,路过接分
爱摸鱼de老邪 2011-10-19
  • 打赏
  • 举报
回复
JDK版本太低或者JDK出问题了,重装之。
  • 打赏
  • 举报
回复
忽悠人吧,这个代码没有错误,我试过。
uastation 2011-10-19
  • 打赏
  • 举报
回复
没有这样的方法.因此报错.
应该是在super(s);这行报错..不支持这种方法.
Fly_m 2011-10-19
  • 打赏
  • 举报
回复
new MyThread("t1");
thread没有一个接收字符串为参数的构造函数
你的构造函数要这样写
MyThread(String s)
{
super();
setName(s);
}
龙腾冰 2011-10-19
  • 打赏
  • 举报
回复
程序没有错误,super(s)用的是父类的构造方法,可能是你的jdk版本或者设置不正确,可以重新再cmd命令下试试,如果可以的话,那就是你的eclipse有问题,再换一个eclipse就好了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧