Exception in thread “main“ java.lang.ClassCastException
Exception in thread “main” java.lang.ClassCastException: MyThread cannot be cast to class java.lang.Runnable (多线程编程.MyThread is in unnamed module of loader ‘app’; java.lang.Runnable is in module java.base of loader ‘bootstrap’)
出现这个一问题的原因是 :自己手写的Runnable接口,并不属于java.lang.Runnable 所以idea报出错误: Thread构造方法中的参数并不是属于java.lang.Runnable 这个接口的子类。 解决办法:直接把手写的Runnable接口删掉就可以了。 并且附上能运行的java代码:
package 多线程编程;
/*interface Runnable {
public void run(); 把这个手写的接口删掉即可
}*/
class MyThread implements Runnable {
//线程的主体类
private String title ;
public MyThread(String title) {
//属性初始化
this.title = title;
}
@Override
public void run() {
//重写线程的方法
for(int x=0; x<10; x++) {
System.out.println(this.title + "运行 x=" + x);
}
}
}
public class Java11 {
public static void main(String[] args) {
MyThread aa = new MyThread("线程A");
Thread threadA = new Thread(aa);
threadA.start(); //启动线程
}
}
代码执行结果如下:
上一篇:
通过多线程提高代码的执行效率例子
