永发信息网

java 创建线程的疑惑,我看了Runnable的源码,里面只有一个抽象方法

答案:3  悬赏:60  手机版
解决时间 2021-02-26 09:08
  • 提问者网友:最美的风景
  • 2021-02-26 01:27
public
interface Runnable {
public abstract void run();
}
一个类继承Thread或者实现Runnable接口,就可以创建一个线程,这我是知道,我想问,如果我自己随便写一个接口,里面的内容跟Runnable一样,另一个类去实现,为什么这样不能创建一个线程?有谁能详细解释一下?
最佳答案
  • 五星知识达人网友:孤老序
  • 2021-02-26 01:47
MyRunnable runnable = new MyRunnable ("A线程");//MyRunnable实现Runnable接口
Thread demo= new Thread(runnable);//要转换成Thread对象
demo.start();

下边是Thread的一个构造方法,也就是上边第二行用到的那个构造方法,
他接收的类型是java.lang.Runnable类型,所以你自定义的是不行的 虽然真正的
runnable那个类很简单
public Thread(Runnable target) {
init(null, target, "Thread-" + nextThreadNum(), 0);
}
全部回答
  • 1楼网友:大漠
  • 2021-02-26 04:20
runnable是个接口, 任何实现了runnable接口类型的对象都可以做为参数传进去 比如 class a implements runnable{} a a = new a(); 这个a就可以作为参数传 进去 那这个thread t2=new thread(new myrunnablea()); 什么意思那? 你自己看看myrunnablea类是不是实现了runnable接口
  • 2楼网友:愁杀梦里人
  • 2021-02-26 03:08
这说明你没有了解什么是接口,接口就是制定了统一的标准,Runnable制定了一个标准,你自己制定了一个标准,但是在Thread中只认Runnable的标准,你的标准就得放入你自己写的线程中用了,不能放入和Thread有关系的任何类中,明白了么?通俗一点就是说有得手机只能使用原装电池,非原装的它不认,就不能使用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯