| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 985 人关注过本帖
标题:关于final变量的问题 刚才的用的时候注意到的 有点疑惑
只看楼主 加入收藏
晓狐狸
Rank: 2
等 级:新手上路
威 望:3
帖 子:95
专家分:0
注 册:2006-4-6
收藏
 问题点数:0 回复次数:14 
关于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的值被更改了呢?疑惑啊
谁懂的给我讲讲
搜索更多相关主题的帖子: final 变量 
2006-04-08 11:05
★王者至尊★
Rank: 1
等 级:新手上路
帖 子:528
专家分:0
注 册:2006-3-28
收藏
得分:0 

在对k的初始化 虽然用了final 但是你把i赋给k 每次执行循环时 相当于初始化了i个常量 他们在堆内存中有不同的存储空间 所以不会出现错误
不知道我理解的对不对


------Java 爱好者,论坛小混混,学习中------
2006-04-08 11:20
晓狐狸
Rank: 2
等 级:新手上路
威 望:3
帖 子:95
专家分:0
注 册:2006-4-6
收藏
得分:0 
是这样的吗?你确定?

2006-04-08 11:21
★王者至尊★
Rank: 1
等 级:新手上路
帖 子:528
专家分:0
注 册:2006-3-28
收藏
得分:0 
应该是....一会问问冰封

------Java 爱好者,论坛小混混,学习中------
2006-04-08 11:31
晓狐狸
Rank: 2
等 级:新手上路
威 望:3
帖 子:95
专家分:0
注 册:2006-4-6
收藏
得分:0 
多监听器 不是蛮会用 书上只有一个例子还不是蛮好懂

你有没有什么 例子 比较好懂的 解说也可以~

2006-04-08 11:38
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
★王者至尊★  回答对的
因为你在每次循环的时候它所产生的对象
final int k=i;
都是一个新的,这是关于对象的有效范围的一个问题
在这里,这个int k只在当前的循环里有效,一出循环就不存在这个对象了
所以每次重进循环的时候,它都会产生一个新的对象,它的名字叫k
所以你每次都能对它赋值
但是如果你把它改成
class ForText
{
final int k=0;
public static void main(String [] args)
{

for(int i=0;i<10;i++)
{
k=i;
System.out.println(k);
}

}
}
就不行了

可惜不是你,陪我到最后
2006-04-08 12:00
晓狐狸
Rank: 2
等 级:新手上路
威 望:3
帖 子:95
专家分:0
注 册:2006-4-6
收藏
得分:0 
对哦 想起来了 犯了这么简单的错误~~
熬夜熬糊涂了~。

2006-04-08 12:12
★王者至尊★
Rank: 1
等 级:新手上路
帖 子:528
专家分:0
注 册:2006-3-28
收藏
得分:0 
多监听 应该不太复杂 是不是真的熬糊涂了
我找了好几本书 也没给你找个贴切的例子 连国外的都翻了 上面也都是一笔代过 也不知道是不是这个不难
自己好好在理解理解.........
呵呵 .........

------Java 爱好者,论坛小混混,学习中------
2006-04-08 12:29
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

什么是多监听??


可惜不是你,陪我到最后
2006-04-08 12:33
★王者至尊★
Rank: 1
等 级:新手上路
帖 子:528
专家分:0
注 册:2006-3-28
收藏
得分:0 

狐狸的意思 就是一个事件 设定多个监听器吧 ............


------Java 爱好者,论坛小混混,学习中------
2006-04-08 12:34
快速回复:关于final变量的问题 刚才的用的时候注意到的 有点疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024639 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved