Java——匿名内部类实现线程的两种方式

package com.yy.thread;

public class Demo4_Thread {
     

    public static void main(String[] args) {
        demo1();        //匿名内部类,第一种,继承Thread

        demo2();        //匿名内部类,第二种,实现Runnable接口    
}

    private static void demo2() {
        new Thread( new Runnable() {                //1,将Runnable的子类对象当作参数传递给Thread的构造方法  ;new Runnable(){}:实现Runnable接口
            public void run(){                      //2,重写run方法
            for (int i = 0; i < 1000; i++) {        //3,将要执行的代码写到run方法中
                System.out.println("wsq");
            }
        }
    }).start();                                     //4,开启线程 
    //new到.start();这直接,整部分的内容代表Runnable接口的子类对象,
}

    private static void demo1() {                   //代表Thread的子类对象,Thread类里面有start方法,可以直接调用
        new Thread(){                               //1,new一个类(){},继承Thread这个类
            public void run(){                      //2,重写run方法
                for (int i = 0; i < 1000; i++) {    //3,将要执行的代码写到run方法中
                    System.out.println("aaawsqaaa");
                }
            }
        }.start();                                  //4,开启线程
    //new到.start();这直接,整部分的内容表示Thread类的子类对象,然后.start就会调用run()方法,start就把线程给开启,然后调用run()方法
    }
}

你可能感兴趣的:(Javaweb小笔记)