匿名内部类方式实现线程的创建

如代码

package Day2021001;/*
 *@author wanghongyuan
 *@Create 2021/1/4 20:44
 */
/*
    匿名内部类方式实现线程的创建

    什么叫匿名:没有名字
    什么叫内部类:写在其他类内部的类

    匿名内部类的作用
        把子类继承父类,重写父类的方法,创建子类对象合成一步完成
        把实现类实现类接口,重写接口中的方法,创建实现类对象合成一步完成
    匿名内部类的最终产物:子类/子类对象,并且这个类没有名字

    格式:
        new 父类/接口(){
            重写接口/父类中的方法
        }

 */

public class Demo01InnerThread {
    
    
    public static void main(String[] args) {
    
    
        // 线程的父类是Thread
        // new MyThread().start
        new Thread(){
    
    
            // 重写run方法,设置线程任务
            @Override
            public void run() {
    
    
                for (int i = 0; i < 20; i++) {
    
    
                    System.out.println(Thread.currentThread().getName()+"-->"+i);
                }
            }
        }.start();

        // 线程的接口Runnable
        // RunnableImpl r = new RunnableImpl();
         Runnable r = new RunnableImpl();// 多态
        new Runnable(){
    
    
            // 重写run方法,设置线程任务
            @Override
            public void run() {
    
    
                for (int i = 0; i < 20; i++) {
    
    
                    System.out.println(Thread.currentThread().getName()+"-d->"+i);
                }
            }
        };
        // new一个Thread类对象,里面传递实现类对象,调用start开启线程。
        new Thread(r){
    
    }.start();

        // 简化接口的方式
        new Thread(new Runnable(){
    
    
            // 重写run方法,设置线程任务
            @Override
            public void run() {
    
    
                for (int i = 0; i < 20; i++) {
    
    
                    System.out.println(Thread.currentThread().getName()+"-d22->"+i);
                }
            }
        }){
    
    }.start();
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41977380/article/details/112203720