丰亚彬 发表于 2012-5-27 11:22
呃,我原来想的也是生命周期的问题,你刚才回答我能明白,就有一点。。。为什么加final的局部变量在方法 ...
楼主还是对堆内存和栈内存理解不够深入啊,内部类不能访问方法局部变量,想访问必须final,因为内部内是一个类,是在堆内存里,创建对象也在堆内存,在内部内访问方法的局部变量就是栈内存的局部变量,用堆内存的数据去访问栈内存的数据是访问不到的,因为堆内存比栈内存存活时间长,所以加上final则变量就变成常量,常量是放在常量池也在堆内存,所以存活时间一样长. |