匿名内部类

Posted zhoumin6012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了匿名内部类相关的知识,希望对你有一定的参考价值。

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

以上是关于匿名内部类的主要内容,如果未能解决你的问题,请参考以下文章

java的内部类与匿名内部类

匿名内部类

到底什么是匿名内部类?

到底什么是匿名内部类?

该如何理解匿名内部类的功能?

匿名内部类