线程--匿名内部类实现多线程的2种方式

众所周知,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开启线程。

Best Regards
原文地址:https://www.cnblogs.com/pecool/p/9536431.html