会执行Thread重写的run方法
原因:Thread匿名子类的构造器不需要target,当他没有重写run()方法时,他会去找父类的run()方法,他才会用到target变量,调用target.run()传入的Runnable target形参才会起作用但是Thread子类重写了run()方法,就不需要target变量了,传入Runnable target形参也就不起作用了,所以就会执行Thread匿名子类的构造器
代码演示:
public class Test1 { public static void main(String[] args) { //Java面试题,即继承Thread重写run方法又实现了Runnable接口重写run方法,谁会执行? new Thread(new Runnable() { @Override public void run() { System.out.println("runnable,,,,,,,,,,"); } }){ public void run(){ System.out.println("Thread,,,,,,,,,,,,,,,,,,,,,"); } }.start(); } }