java常见的实现多线程的方式主要是继承Thread类、实现Runnable接口、实现Callable接口或者通过线程池,但是今天偶然间看到了一种 通过内部类来实现多线程 的一种方式,例子如下:
public class Threads4{
public static void main(string[] args){
new Threads4().go();
}
public void go(){
Runnable r = new Runnable(){ //内部类的一种简写
public void run(){
system.out.print("hello!");
}
};
Thread t = new Thread(r);
t.start();
}
}
这种方式是通过实现Runnable接口变形而来的,运行时:
1.首先构造一个" implements Runnable "的无名local内部类(方法内的内部类)
2.然后构建它的一个实例
3.然后用Runnable来表示这个无名local内部类的type