这个问题应该是,在方法中定义的内部类只能访问方法中的final类型的局部变量。因为final定义的局部变量相当于是一个常量,它的生命周期超出方法运行的生命周期。
class InOut{
String str = new String("123");
public void method()
{
int i =2;
final int a =1;
//System.out.println(a);
class Inner
{
public void sayHello()
{
// Cannot refer to a non-final variable i inside an inner class defined in a different method
//System.out.println(i);
System.out.println(a);
}//end of Inner class
}
}//end of method
}
在内部类中的sayHello方法。我们可以访问变量a,但是不能访问变量i |