class ThreadAndRunnable implements Runnable {
private int x = 0;
public void run() {
System.out.println(++x);
}
}
class Test {
public static void main(String[] args){
ThreadAndRunnable r = new ThreadAndRunnable();
for (int i = 0; i < 10; i++) {
Thread t = new Thread(r);
t.start();
}
}
}
编译后显示:
警告: .\Runnable.class: 主版本 52 比 51 新, 此编译器支持最
建议升级此编译器。
No.java:12: 错误: 对于Thread(ThreadAndRunnable), 找不到合适
Thread t = new Thread(r);
^
构造器 Thread.Thread(ThreadGroup,Runnable,String,long)
(实际参数列表和形式参数列表长度不同)
构造器 Thread.Thread(ThreadGroup,Runnable,String)不适用
(实际参数列表和形式参数列表长度不同)
构造器 Thread.Thread(Runnable,String)不适用
(实际参数列表和形式参数列表长度不同)
构造器 Thread.Thread(ThreadGroup,String)不适用
(实际参数列表和形式参数列表长度不同)
构造器 Thread.Thread(String)不适用
(无法通过方法调用转换将实际参数ThreadAndRunnable转换
构造器 Thread.Thread(ThreadGroup,Runnable)不适用
(实际参数列表和形式参数列表长度不同)
构造器 Thread.Thread(Runnable,AccessControlContext)不适
(实际参数列表和形式参数列表长度不同)
构造器 Thread.Thread(Runnable)不适用
(无法通过方法调用转换将实际参数ThreadAndRunnable转换
构造器 Thread.Thread()不适用
(实际参数列表和形式参数列表长度不同)
另外那个警告怎么处理?
------解决方案--------------------
函数里面的变量为局部变量不需要访问修饰符private!!!!!!!!!
------解决方案--------------------
版本升级一下,问题 都会解决的, 现在都java8了
------解决方案--------------------
楼主传入可以参考这个:
public class ThreadAndRunnable{
public static void main(String[] args){
Test r = new Test();
for (int i = 0; i < 10; i++) {
Thread t = new Thread(r);
t.start();
}
}
}
class Test implements Runnable {
private int x = 0;
public void run() {
System.out.println(++x);
}
}
至于编译器,你升级jdk就行了