黑马程序员技术交流社区

标题: 使用Thread作为父类的匿名内部类 [打印本页]

作者: 劉芒    时间: 2016-8-23 23:27
标题: 使用Thread作为父类的匿名内部类
package cn.itcast.demo02_NiMingthread;
/*
* 使用Thread作为父类的匿名内部类
*
* 格式:
*         new Thread(){
*                 //重写Thread中的run方法,否则没意义
*                 public void run(){
*                         任务代码...
*                 }
* }.start();
*
* 使用Runnable作为父类的匿名内部类
*
* 格式:
*                 new Thread(
*                         new Runnable(){
*                                 public void run(){
*                                         任务代码...
*                                 }
*                         }
*                 ).start();
*/
public class Demo01 {

        public static void main(String[] args) {
                //m1();
                m2();
        }
        //练习Thread作为父类的匿名内部类
        public static void m1(){
                new Thread(){
                        @Override
                        public void run() {
                                //任务代码
                                for(int i=0;i<=10;i++){
                                        System.out.println("线程:"+getName()+"   "+i);
                                }
                        }
                }.start();
                new Thread(){
                        @Override
                        public void run() {
                                //任务代码
                                for(int i=0;i<=10;i++){
                                        System.out.println("线程:"+getName()+"   "+i);
                                }
                        }
                }.start();
                new Thread(){
                        @Override
                        public void run() {
                                //任务代码
                                for(int i=0;i<=10;i++){
                                        System.out.println("线程:"+getName()+"   "+i);
                                }
                        }
                }.start();
        }
        //练习使用Runnable作为父类的匿名内部类
        public static void m2(){
                new Thread(
                                new Runnable(){
                                        public void run() {
                                                //获取线程的名字
                                                String name = Thread.currentThread().getName();
                                                for(int i=0;i<20;i++){
                                                        System.out.println("第二种方式的线程:"+name+"   "+i);
                                                }
                                        }
                                }
                ).start();
                new Thread(
                                new Runnable(){
                                        public void run() {
                                                //获取线程的名字
                                                String name = Thread.currentThread().getName();
                                                for(int i=0;i<20;i++){
                                                        System.out.println("第二种方式的线程:"+name+"   "+i);
                                                }
                                        }
                                }
                ).start();
                new Thread(
                                new Runnable(){
                                        public void run() {
                                                //获取线程的名字
                                                String name = Thread.currentThread().getName();
                                                for(int i=0;i<20;i++){
                                                        System.out.println("第二种方式的线程:"+name+"   "+i);
                                                }
                                        }
                                }
                ).start();
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2