Java内部类

Posted 未夏

tags:

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

内部类的作用

Java是单继承,它通过接口实现了多重继承。当只有抽象类或具体类,而没有接口时,可以用匿名内部类实现多重继承。

内部类分类

  • 普通内部类
  • 匿名内部类
  • 嵌套类

匿名内部类

public class Demo {
    prvivate int n;
    
    public E make() {
        return new E() {...};
    }
}

make方法的return语句意为:根据方法体实例化对象,然后将其向上转型为基类E的引用。

如果我们要在匿名内部类的方法体内部使用外部类的成员引用,则必须将此引用用final修饰。

通过匿名内部类实现多重继承与接口有所差异:通过多个接口继承产生的实例化对象可以向上转型为多个目标接口;而匿名内部类产生的实例化对象只能向上转型为一个基类引用。即通过匿名内部类的多重继承是一个子类对一个基类,接口则是一个子类对多个接口。

嵌套类

用static声明的内部类,这通常称为嵌套类。

创建嵌套类对象不需要其外围类的对象;不能从嵌套类的对象中访问非静态的外围类对象。

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

# Java 常用代码片段

# Java 常用代码片段

elasticsearch代码片段,及工具类SearchEsUtil.java

片段 - 全局视图变量与本地和内部类侦听器和内存泄漏

为啥片段类应该是公开的?

ForegroundService没有从片段开始?