本地内部类

你也可以在代码段里,通常就是方法的正文部分创建内部类。本地内部类不能有访问控制符,因为它不属于宿主类,但是它确实可以访问当前代码段的final变量,以及宿主类的所有成员。一个程序分别用本地内部类和匿名内部类实现了这个接口,两者有着相同的行为和功能。由于本地内部类的名字在这个方法外面是没法访问的,因此用本地内部类来代替匿名内部类的唯一正当的理由就是,你需要一个有名字的构造函数,并且/或者要重载这个构造函数,因为匿名内部类只能进行实例初始化。选择本地内部类而不是匿名内部类的唯一原因就是,你必须创建多个哪种类的对象。

«1»