当前位置: 备案域名出售 > 建站教程>正文

本地内部类

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

由于每个类都会生成一个.class文件,以存储“该如何创建这个类的对象”的信息(这种信息会生成一种被称为class对象的meta-class),因此你可能会猜想,内部类也应该能生成保存它们的Class对象的信息的.class文件。如果是匿名内部类,编译器就会直接用数字来表示内部类的标识符;如果内部类还嵌套在内部类里面,那么它们的名字会直接跟在宿主类后面的那个$后面。

« 上一篇下一篇 »

相关文章: