匿名内部类实现多线程的原理和前面提到的实现多线程的方式类似,无非是子类对象和Runnable用匿名内部类的方式实现了。
package ThreadDemo;
public class ThreadTestDemo {
public static void main(String[] args) {
//Thread 子类方式
new Thread(){
public void run(){
for(int x=0;x<100;x++){
System.out.println("hello"+":"+x);
}
}
}.start();
// 实现Runnable方式
new Thread(new Runnable(){
public void run(){
for(int x=0;x<100;x++){
System.out.println("world"+":"+x);
}
}
}){}.start();
//两者同时出现,开发中不会出现,但我们要探究其到底使用的是哪种方式
new Thread(new Runnable(){
public void run(){
for(int x=0;x<100;x++){
System.out.println("world"+":"+x);
}
}
}){
public void run(){
for(int x=0;x<100;x++){
System.out.println("hello"+":"+x);
}
}
}.start();
//经测试,我们得到,其优先使用子类对象的方式,输出的是hello...
}
}