1.Runable接口中只有一个Run()方法
2.Thread类实现了Runable接口
3.Thread有参构造传入的只能是实现了Runable接口的对象
public Thread(Runnable target) {
init(null, target, "Thread-" + nextThreadNum(), 0);
}
4.Thread类中的run方法如下
public void run() {
if (target != null) {
//target指的是有参构造中传入的值,Thread t = new Thread(target);
target.run();
}
}
所以当你实现Runable接口时会执行实现类的run()方法,
当继承Thread的时候,需要重写run()方法才可运行,否则run()里面空空如也。
5.start方法只有Thread类才有,而Runable接口中只有Run方法
所以只有Thread以及其子类可以调用start方法。(好像是废话。。。)
2.Thread类实现了Runable接口
3.Thread有参构造传入的只能是实现了Runable接口的对象
public Thread(Runnable target) {
init(null, target, "Thread-" + nextThreadNum(), 0);
}
4.Thread类中的run方法如下
public void run() {
if (target != null) {
//target指的是有参构造中传入的值,Thread t = new Thread(target);
target.run();
}
}
所以当你实现Runable接口时会执行实现类的run()方法,
当继承Thread的时候,需要重写run()方法才可运行,否则run()里面空空如也。
5.start方法只有Thread类才有,而Runable接口中只有Run方法
所以只有Thread以及其子类可以调用start方法。(好像是废话。。。)