局部类(Local Classes)

局部类是在代码块(由“{}”括起来的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)

你可能感兴趣的:(局部类(Local Classes))