Thread thread1 = new Thread() {
public void run() {
}
};
Thread thread2 = new Thread() {
public void run() {
}
};
thread1.start();
thread2.start();
如何摆脱这个错误?在thread1.start()和thread2.start()行中,我得到了相同的错误 - >令牌启动时出现语法错误,此令牌后预期的标识符。
答案 0 :(得分:2)
令牌启动时出现语法错误,此令牌后预期的标识符。
表示您声明了这些语句:
thread1.start();
thread2.start();
作为班上的成员。
但这些都不是有效的成员声明。
这些不会产生任何问题,因为这些是有效的声明:
Thread thread1 = new Thread() {
public void run() {
}
};
Thread thread2 = new Thread() {
public void run() {
}
};
作为替代方案,您可以在初始化程序或方法中移动start()
调用语句
以下是初始化程序的示例:
public class Foo {
Thread thread1 = new Thread() {
public void run() {
}
};
Thread thread2 = new Thread() {
public void run() {
}
};
{
thread1.start();
thread2.start();
}
}
或者如果它更有意义,您还可以将字段更改为局部变量并在方法中声明整个语句:
public class Foo {
public void myMethod(){
Thread thread1 = new Thread() {
public void run() {
}
};
Thread thread2 = new Thread() {
public void run() {
}
};
thread1.start();
thread2.start();
}
}
答案 1 :(得分:0)
把它放在main方法中。如果你把它放在里面它会正常工作
public static void main(String args[]){
//your code
}