6.7 内部类

6.7 内部类

什么是内部类

定义在其他类内部的类就被称为内部类,

什么是外部类

包含内部类的类也被称为外部类

内部类的作用

JavaJDK1.1开始引入内部类,内部类主要有如下作用。

  • 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。
  • 内部类成员可以直接访问外部类的私有数据,
    • 因为内部类被当成其外部类的一个成员,同一个类的成员之间可以互相访问。
    • 但外部类不能访问内部类的实现细节,例如内部类的成员变量。
  • 匿名内部类适合用于创建那些仅需要一次使用的类。

内部类和外部类的区别

从语法角度来看,定义内部类与定义外部类的语法大致相同,内部类除需要定义在其他类里面之外,还存在如下两点区别。

  1. 内部类比外部类可以多使用三个修饰符:privateprotectedstatic,外部类不可以使用这三个修饰符。
  2. 只有静态内部类才能拥有静态成员。外部类不能使用static修饰,所以不存在静态外部类.