| 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
 |