new Thread(xxxx)
{
//覆盖了Thread类的run方法
public void run(){
System.out.println("subthread run");
}
}.start();
xxxx就是
new Runnable(){ //匿名
//覆盖了Runnable接口的run方法
public void run(){
System.out.println("runnable run");
}
}
这样能看懂了么?
new Thread(xxxx)... 也是匿名内部类。
因为你的Thread匿名内部类覆盖了Thread类的run方法,所以不会去调用Runnable匿名内部类的run方法,所以输出subthread run。如果不覆盖Thread类的run方法,就会输出runnable run |