关于final变量的问题 刚才的用的时候注意到的 有点疑惑
final int i=5;这么是定义一个常量吧? 也就是说 i 的值不可更改吧?
但是这个程序 如下:
class ForText
{
public static void main(String [] args)
{
for(int i=0;i<10;i++)
{
final int k=i;
System.out.println(k);
}
}
}
为什么K的值被更改了呢?疑惑啊
谁懂的给我讲讲
在对k的初始化 虽然用了final 但是你把i赋给k 每次执行循环时 相当于初始化了i个常量 他们在堆内存中有不同的存储空间 所以不会出现错误
不知道我理解的对不对