读书人

java中的final有关问题 类似于生命周

发布时间: 2013-11-13 14:04:18 作者: rapoo

java中的final问题 类似于生命周期的问题
最近做一个项目 遇到一个final问题,自己怎么想都想不明白,于是随便写一个测试程序出现了一下结果
java中的final有关问题   类似于生命周期的有关问题
主要目的是检测final在这里的作用,我按下四个Button分别输出0,1,2,3——代码如下:

                                                  java                    final                                              
[解决办法]
final类型的局部变量就是添加了final修饰符的局部变量,一旦赋值就不能改变,但如果创建时没有对其赋值,那么在使用前还是可以对其赋值的。

final int fin = i;
Button m = new Button(String.valueOf(i));
m.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println(fin);
}
});

每次进循环时,fin都相当于定义一个新的fin,会覆盖掉前面的那个fin,不存在冲突
[解决办法]
变量命一样,内存地址不一样。

读书人网 >J2SE开发

热点推荐