美文网首页
Java 匿名内部类

Java 匿名内部类

作者: 有苦向瓜诉说 | 来源:发表于2017-11-19 17:11 被阅读103次

语法

匿名内部类适合那种只需要使用一次的类。创建匿名类的同时会立即创建一个该类的实例,这个类不能重复使用。

new interface|superClass()
{
//匿名内部类
}

可见,匿名类必须继承一个父类或一个接口,且最多一个。

还要注意,匿名内部类不能定义静态初始化代码块,不能在匿名类里面定义接口,不能在匿名类中定义构造函数。

匿名类就是一个继承的子类,也可以多重匿名(多重子类)。

常用匿名类写法

注意辨析以下写法的结果为什么不同。

public class RunWhatThread {
    public static void main(String[] args) {
        Thread th = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("runnable");

            }
        });
        th.start();
    }
}
//输出runnable

public class RunWhatThread {
    public static void main(String[] args) {
        Thread th = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("runnable");

            }
        })
        {
            @Override
            public void run() {
                System.out.println("thread");
            }
        };
        th.start();
    }
}
//输出thread

public class RunWhatThread {
    public static void main(String[] args) {
        Thread th = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("runnable");
            }
        }) {
            @Override
            public void run() {
                super.run();
                System.out.println("thread");
            }
        };
        th.start();
    }
}
//输出
runnable
thread

相关文章

  • Kotlin-Object关键字作用

    Object关键字使用场景:匿名内部类、单例、伴生对象。 匿名内部类 Kotlin匿名内部类定义使用跟Java类似...

  • 获取Java匿名内部类持有的外部类对象

    熟悉Java的应该都知道,Java匿名内部类会隐式持有一个外部类对象。所以在匿名内部类里可以调用外部类各个方法。 ...

  • 热修复原理拆解个人笔记(一)

    源于sophix文档: 内部类/外部类java编译器对内部类的处理 匿名内部类匿名内部类 类加载类加载时间 fin...

  • Java内部类

    Java内部类,简单来说就是将一个类定义在另一个类或者方法里面,主要分为成员内部类,局部内部类,匿名内部类和静态内...

  • java之内部类(InnerClass)详解

    参考文章 java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类

  • 内部类

    内部类可以分为:非静态内部类;静态内部类;匿名内部类。 一、内部类 首先要说,Java为什么要使用内部类?java...

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • 16. 对象声明与伴生对象

    匿名内部类 匿名内部类主要是针对那些获取抽象类或者接口对象而来的。最常见的匿名内部类点击事件: 上面这个是Java...

  • android 内存泄漏的初级见识

    内部类的使用 java的非静态内部类和匿名内部类会默认包含外部类的引用,因此在非静态(或匿名)内部类中我们可以直接...

  • java中的匿名内部类总结

    Java中的匿名内部类总结 匿名内部类也就是没有名字的内部类正因为没有名字,所以匿名内部类只能使用一次,它通常用来...

网友评论

      本文标题:Java 匿名内部类

      本文链接:https://www.haomeiwen.com/subject/wmhpvxtx.html