6.7 内部类
6.7 内部类
什么是内部类
定义在其他类内部的类就被称为内部类,
什么是外部类
包含内部类的类也被称为外部类。
内部类的作用
Java
从JDK1.1
开始引入内部类,内部类主要有如下作用。
- 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。
- 内部类成员可以直接访问外部类的
私有数据
,- 因为内部类被当成其外部类的一个成员,同一个类的成员之间可以互相访问。
- 但外部类不能访问内部类的实现细节,例如内部类的成员变量。
匿名内部类
适合用于创建那些仅需要一次使用的类。
内部类和外部类的区别
从语法角度来看,定义内部类与定义外部类的语法大致相同,内部类除需要定义在其他类里面之外,还存在如下两点区别。
- 内部类比外部类
可以多使用三个修饰符
:private
、protected
、static
,外部类不可以使用这三个修饰符。 - 只有静态内部类才能拥有静态成员。外部类不能使用
static
修饰,所以不存在静态外部类.