本帖最后由 曾祥旭 于 2013-3-7 15:49 编辑
当内部类定义在局部时,在局部定义的int类型的y为什么要被final修饰,被final修饰后不就不可赋值,成为常量了吗?
方法中传递的参数为什么也要定义成final?目前,已经被毕老师的解释给绕进去了,实在想不懂,求助。
如下代码:
class Outer{
private int num=3;
void method(final int a){
final int y=8;//内部类在局部位置上只能访问具备中被final修饰的局部变量。
class Inner{
void function(){
System.out.println(y);
}
}
new Inner().function();
}
}
public class Test{
public static void main(String[] args){
Outer o=new Outer();
o.method(2);
}
}
|