package com.mozq.thread.producer2;
/*
* 面试题2:以下代码是否存在错误
class ThreadTest implements Runnable{
public void run(Thread t){}
}
结果:实现Runnable接口,但是没有覆盖接口中的run方法,应该被定义为抽象类。public void run(Thread t)和void run()方法不是同一个方法。
*/
public class ThreadMianShi {
public static void main(String[] args) {
//面试题1:调用哪里的run方法,Runnable的还是Thread的run
//优先执行子类的run方法,而不是target中的run方法。
/*
@Override
public void run() {
if (target != null) {
target.run();
}
}//子类覆盖了Thread类run的默认实现,不会调用target.run()方法
*/
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("runnable...");
}
}) {
@Override
public void run() {
System.out.println("Thread...");
}
}.start();
}
}