(1)局部类定义在方法中 命名为 外部类$n局部类类名 n为第几个同名局部类
(2)局部类修饰符只能是final或缺省 类似与局部变量
(3)局部类能访问用final修饰的所在方法的局部变量 未修饰的则不能使用
(2)局部类修饰符只能是final或缺省 类似与局部变量
(3)局部类能访问用final修饰的所在方法的局部变量 未修饰的则不能使用
(4)局部类中的成员定义方法与普通类一致
class LocalInnerClass{
public static void main(String[] args){
LocalInnerClass lic = new LocalInnerClass();
lic.test();
}
void test(){
final int i = 2000;
int j = 4000;
class Inner{
//public int i = 1000;
void innertest(){ //局部类中访问变量就近访问
System.out.println(i);//局部类能访问用final修饰的所在方法的局部变量
//原理是:用final修饰的变量,JVM在局部类中拷贝了一份
//System.out.println(j);//局部类不能访问未被final修饰的局部变量
}
}
Inner in = new Inner();
in.innertest();
}
}