黑马程序员技术交流社区
标题:
局部内部类在访问其所在方法局部变量问题
[打印本页]
作者:
新人—小明同学
时间:
2016-7-16 23:17
标题:
局部内部类在访问其所在方法局部变量问题
局部内部类在访问他所在方法中的局部变量必须用final修饰,为什么?
不写final也没有报错呀?
作者:
新人—小明同学
时间:
2016-7-16 23:19
顶!d=====( ̄▽ ̄*)b
作者:
jmf332376308
时间:
2016-7-16 23:47
不写不报错,但是用的时候就会报错。
作者:
longforus
时间:
2016-7-16 23:56
public class TestInnerClass {
public static void main (String[] args) {
int a = 10;
class InnerClass {
int b = a;
void print(){
System.out.println (a+1);
}
}
new InnerClass ().print ();
}
}
复制代码
我试了下 怎么也能运行呢?
同求指点
作者:
yuxing
时间:
2016-7-18 21:09
jdk1.8之后会默认加上final. 1.7之前必须加上,原因是局部变量在栈中使用完之后会弹栈消失,而内部类的对象依然可能调用该局部变量.所以必须延长局部变量的生命周期,即加上final进入常量池~~~~~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2