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();     //启动线程
    }
}

代码执行结果如下:

经验分享 程序员 微信小程序 职场和发展