四种内部类和区别

内部类的主要作用如下:

1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便。

java主要有四种内部类:成员内部类、静态内部类、方法内部类、匿名内部类

成员内部类类似普通的成员变量,定义在属性级别,可以访问外部类任何属性。使用时,new 外部类.new 内部类。

静态内部类不允许访问外部类的非静态属性。使用时可以直接new。

方法内部类是定义在方法内部的类,类似方法的局部变量。只在此方法里使用。可以直接new。

匿名内部类是特殊的方法内部类。主要用于实现接口或抽象类,达到单次实现单次使用的目的,少创建一个类文件。使用时 接口(抽象类)名  实例名=new 接口(抽象类)名(){接口(抽象类)实现}。

原文地址:https://www.cnblogs.com/sunqian/p/5218226.html