本帖最后由 陈宇鹏 于 2013-4-11 14:48 编辑
- class Outer
- {
- int x = 3;
- void method(final int a)//这里为什么说出了栈就会释放
- {
- final int y = 4;//那么这里 呢?为什么就不能够释放?
- class Inner
- {
- void function()
- {
- System.out.println(a);
- }
- }
- new Inner().function();
- }
- }
- class InnerClassDemo3
- {
- public static void main(String[] args)
- {
- Outer out = new Outer()
- out.method(7);
- out.method(8);
- }
- }
复制代码 视频中 我一直 没办法理解是,已经final了为什么还可以更改,为什么说局部变量被final之后,被调用进栈 ,调用完成后出栈就会被释放,final难道不是将一个变量固定为一个常量么。
没有办法理解。智商真的蛮拙计
|
|