/**
* 同时 重写了run方法 同时传入了target
*/
public class BothRunnableThread {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("我来自Runnable");
}
}){
@Override
public void run() {
System.out.println("我来自Thread");
}
}.start();
}
}
会出现什么结果呢???1
A.我来自Runnable
B.我来自Thread
C.我来自Runnable,我来自Thread
D.我来自Thread,我来自Runnable
首先我们分析一下:
new Thread的时候传递进去一个Runnable,作为target传递进去但是,需要注意的是,后面进行run方法的重写了,所以就算传递进去了也没有执行,那最终的结果是咱的B 也就是来自Thread
在来自Thread中run已经覆盖掉接入runnable的run