局部类是在代码块(由“{}”括起来的0个或多个语句)中定义的类。
一、局部类的声明
局部类可以在所有的块中声明,如:在方法中、for循环中、if语句中。
二、局部类对封装类中成员的访问
1. 局部类可以访问封装类的成员。
2. 局部类可以访问被final修饰的变量。
3. 从Java8开始,局部类可以访问被final修饰的或者是effectively final(变量初始化以后,它的值没有再改变)的变量和参数。
4. 定义在static的方法中的局部类,只能引用封装类中static的成员。
三、局部类成员
1. 局部类是非静态的,不能定义任何static的成员。
2. 在代码块中不能定义接口,接口实质上是静态的。
3. 在局部类中不能定义static初始化器或者成员接口。
4. 局部类中可以定义常变量(被声明为final,并且初始化为编译时常量表达式的基本数据类型或者String的变量)。
Reference:Local Classes (The Java™ Tutorials > Learning the Java Language > Classes and Objects)
网友评论