匿名内部类

是什么?

匿名内部类是一用于简化代码书写的语言特性。

为什么?

当我们只想使用一次这东西,那该怎么办?答案自然是使用一次性筷子。匿名内部类就是我们的一次性筷子。
例如,我们想要使用工具栏类的某个方法,就不必先实例化这个工具类了,直接new出来使用就好了。此外,当我们要继承接口和抽象类时,就可以直接new出来,结合多态实现向下转换。

怎么用?

最常用的就是线程类了。我们需要继承Thread类或是实现Runable接口时,就可以使用这种方式,不用再单独创建一个Class文件了。

//Thread类的匿名内部类实现
public class Demo {
    public static void main(String[] args) {
        Thread t = new Thread() {
            public void run() {
                for (int i = 1; i <= 5; i++) {
                    System.out.print(i + " ");
                }
            }
        };
        t.start();
    }
}

//实现Runable接口
public class Demo {
    public static void main(String[] args) {
        Runnable r = new Runnable() {
            public void run() {
                for (int i = 1; i <= 5; i++) {
                    System.out.print(i + " ");
                }
            }
        };
        Thread t = new Thread(r);
        t.start();
    }
}
posted @ 2021-09-07 11:33  快乐的海盗  阅读(71)  评论(0编辑  收藏  举报