Java并发编程面试题1
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(); } }