在 Java 中,内部类是定义在另一个类内部的类,与之相对的是外部类。内部类可以分为四种类型:
1.成员内部类(Member Inner Class):定义在类内部,方法外部的类。
2.局部内部类(Local Inner Class):定义在方法内部或块内部的类。
3.匿名内部类(Anonymous Inner Class):没有类名的局部内部类。
4.静态内部类(Static Inner Class):被声明为 static 的内部类。
内部类和外部类的区别和用法如下:
1.内部类可以直接访问外部类的成员变量和方法,即使是 private 的。而外部类不能访问内部类的成员变量和方法。
2.内部类可以访问外部类的私有成员变量和方法,这样就增强了封装性。
3.内部类可以实现多重继承,一个内部类可以实现多个接口,而一个类只能继承一个父类。
4.内部类可以被用来实现一些辅助类,这些类仅在外部类中使用,从而实现了隐藏实现的细节的目的。
5.内部类可以使代码更加优雅,更加紧凑,更加易读。
总之,内部类可以为实现某些特殊的需求提供一种简单、方便的解决方案。