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(); //启动线程 } }
代码执行结果如下:
上一篇:
通过多线程提高代码的执行效率例子