Java 内部类深度解析
1. 内部类基础与访问限制
在 Java 编程中,内部类是一种强大的工具,它允许在一个类的内部定义另一个类。不过,Java 对内部类有一些命名和访问的限制。
- 命名限制 :Java 不允许将内部类命名为与其外部类相同的名称。这是为了让内部类能够使用外部类名和 this 关键字来访问外部类的隐藏成员。
- 访问局部变量的限制 :局部内部类通常在类的方法内部声明。它可以访问外部类的实例变量以及当前作用域内的局部变量。但局部变量在方法执行结束后就会失效。为了保证在方法调用结束后,局部内部类仍能访问这些变量的值,Java 要求这些局部变量必须是有效最终变量(effectively final)。有效最终变量是指在初始化后其值不会改变的变量。在 Java 8 之前,若要在局部内部类或匿名类中访问局部变量,必须将其声明为 final ;Java 8 之后,虽然不需要显式声明为 final ,但变量的值不能被修改。
以下代码展示了如何在局部内部类中访问局部变量:
// AccessingLocalVariables.java
package com.jdojo.innerclasses;
public class AccessingLocalVariables {
public static void main(String... args) {
int x = 100;
final
订阅专栏 解锁全文
424



被折叠的 条评论
为什么被折叠?



