public
interface Runnable {
public abstract void run();
}
一个类继承Thread或者实现Runnable接口,就可以创建一个线程,这我是知道,我想问,如果我自己随便写一个接口,里面的内容跟Runnable一样,另一个类去实现,为什么这样不能创建一个线程?有谁能详细解释一下?
java 创建线程的疑惑,我看了Runnable的源码,里面只有一个抽象方法
答案:3 悬赏:60 手机版
解决时间 2021-02-26 09:08
- 提问者网友:最美的风景
- 2021-02-26 01:27
最佳答案
- 五星知识达人网友:孤老序
- 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);
}
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有关系的任何类中,明白了么?通俗一点就是说有得手机只能使用原装电池,非原装的它不认,就不能使用。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯