Java内部类

是什么

在Java的一个类中再定义一个类,就称之为内部类。

有四种类型:

  1. 成员内部类

    • 类内部不能包含static修饰的属性和方法
    • 先创建外部类,再创建内部类
  2. 静态内部类

    • 非静态类编译完成之后,会隐含的保存着一个引用,这个引用指向外部类。而静态内部类则没有这个引用
    • 静态内部类的创建不依赖于外部类,可以直接创建。
    • 静态类不能使用外部类的非静态变量和方法
  3. 局部(方法)内部类

    • 定义在方法内部的类
  4. 匿名内部类

    • 没有修饰符,没有名称
    • 必须实现一个接口或继承一个抽象类
    • 没有构造函数
    • 不能存在静态变量或静态方法

使用场景

  1. 当某个类只被他的外部类使用,而不再被其他类使用的时候。
  2. 解决一些非面向对象的语句块
  3. 一些多算法的场景
  4. 使代码更加灵活,更具有扩展性。(设计模式)

参考文章:
幕后英雄的用武之地——浅谈Java内部类的四个应用场景
java 内部类(inner class)详解

你可能感兴趣的:(Java学习之路)