眾所周知,Thread是繼承了Runnable接口並重寫run方法實現了線程。那么如果在匿名內部類中如何使用線程,並開啟線程呢?
public class Test {
public static void main(String[] args) {
//Thread實現的匿名內部類
new Thread(){
@Override
public void run() {
System.out.println("aaa");
}
}.start();
//Runnable實習匿名內部類
Runnable runnable = new Runnable(){
@Override
public void run() {
System.out.println("bbb");
}
};
new Thread(runnable).start();
}
}
Thread實現代碼分析:
new Thread類,重寫run方法,相當於得到Thread子類對象,並重寫Thread中的run方法,進而.start開啟線程。
Runnable實現代碼分析:
new Runnable接口,重寫run方法,相當於得到Runnable子類,run 方法相當於子類重寫Runnable接口中的run方法,返回一個Runnable引用。實則為父類引用指向子類對象。
而開啟時,需要使用Thread類中Thread(Runnable target) 構造方法,得到Thread對象后,再.start開啟線程。
