使用匿名内部类实现线程,new Thread(new Runnable(){}) 和 new Thread(){}

就是利用匿名内部类实现,补充下,做个笔记吧

import java.util.Date;

public class ThreadInnerClass {

	/**
	 * @主要看使用内部类怎样实现一个线程
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Thread(new ThreadInner()).start();//相当于new Thread(实现Runnable接口)
		
//		new Thread(new ThreadInner(),"线程1").start();//同上,(取个名字)相当于new Thread(实现Runnable接口),ThreadInner对象操作线程
		
//		new ThreadInner().run();//线程也会运行,不过是这个main在操作线程。
		
		/*
		new Thread(new Runnable(){//相当于是实现runnable接口
			@Override
			public void run(){
				
				while(true)
				{
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
					
					System.out.println("1");
					
				}
				
			}
			
		}).start();
		*/
		
		
		/*
		new Thread(){//直接重写run方法
			@Override
			public void run(){
				System.out.println("2");
			}
			
		}.start();
		*/
		
		/*
		new ThreadInner2(){//相当于继承Thread,重写run方法。和上面直接重写run方法同理
			@Override
			public void run(){
				System.out.println("3");
			}
			
		}.start();
		*/
		
	}

}

class ThreadInner implements Runnable{
	
	@Override
	public void run(){
		
		while(true)
		{
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			System.out.println(Thread.currentThread().getName()+"  " + new Date());
		}
	}
}


class ThreadInner2 extends Thread{
	
}


你可能感兴趣的:(java)