java中static final变量存储内存哪个区?

我们知道static在静态存储区final在常量区那么staticfinal在哪个区?如:staticfinalintMAX=9;静态还是常量区?如果在静态区,如何保证该... 我们知道static在静态存储区
final在常量区
那么static final在哪个区?如:static final int MAX=9;
静态还是常量区?
如果在静态区,如何保证该变量值不被更改?
展开
 我来答
匿名用户
2013-03-31
展开全部
存储在静态区的,他不能被改变是因为java存储特性决定的,java在存储数据时不只存储了数据,还存储了数据想关信息如:数据类型等,在初始化MAX的时候已经生命是final的,那么他将不能被改变
D句多木羊口圭
2013-03-30 · 超过13用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:27.5万
展开全部
1.带有static的变量或者方法是属于类的,也就是说,类成员是被储存在堆内存里面的。
2.final 是保护 所修饰的类、方法、变量不能被改变的,并不占用内存,
3.final|static只是一个修饰符

修饰符通俗来说只是一个标志!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
步宏霜静慧
2020-06-14 · TA获得超过1170个赞
知道小有建树答主
回答量:2570
采纳率:100%
帮助的人:13.7万
展开全部
sun规范规定内存区域对用户来说是不透明的
即用户不用考虑内存的堆和栈,不过我个人觉的java中堆和栈已经不像c++里分的那么清楚了,在java中不分堆栈,堆栈一个概念!只是个人观点!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
美丽湖广
2013-03-31
知道答主
回答量:56
采纳率:0%
帮助的人:26.1万
展开全部
这是一个对常量的定义,放在常量池 注意你写的不是static int MAX=9;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-02-01 · TA获得超过323个赞
知道答主
回答量:9
采纳率:0%
帮助的人:1.9万
引用D句多木羊口圭的回答:
1.带有static的变量或者方法是属于类的,也就是说,类成员是被储存在堆内存里面的。
2.final 是保护 所修饰的类、方法、变量不能被改变的,并不占用内存,
3.final|static只是一个修饰符

修饰符通俗来说只是一个标志!
展开全部
放在堆内存,呵呵,厉害
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式