众所周知,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开启线程。
原文:https://www.cnblogs.com/zhoumin6012/p/11440055.html