Java内部类是定义在另一个类中的类。它可以访问外部类的所有成员,包括私有成员。内部类可以分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。
成员内部类:定义在外部类的成员位置,与成员变量、成员方法同级别。它可以访问外部类的所有成员,包括私有成员。
局部内部类:定义在外部类的某个方法或代码块中,只能访问该方法或代码块中的final变量(实际上是可以访问所有final变量,包括隐式final变量)。
匿名内部类:没有名字的内部类,通常用于创建一次性使用的对象,如事件监听器。
静态内部类:使用static关键字定义的内部类,它只能访问外部类的静态成员,不能访问外部类的非静态成员。
内部类的使用可以使代码更加模块化,提高代码的可读性和可维护性。