我们知道static在静态存储区
final在常量区
那么static final在哪个区?如:static final int MAX=9;
静态还是常量区?
如果在静态区,如何保证该变量值不被更改?

解决方案 »

  1.   

    你都说了final是常量了,常量能改的?
      

  2.   

    老师对我说,在C语言说:常量区和静态区是在一起的,但是java虚拟机不知如何处理。我又有了新的问题:
    如果常量区和静态区在一起,那又如何区分呢?
      

  3.   

    static   final   int   MAX=9 这是一个常量区。应该不能保证不被改变。
      

  4.   

    在Java这个世界内,谈论哪个区是没有意义的.因为你不能真正的访问那里的内存.它就是存在所谓的静态数据区,你又能怎么样呢?
      

  5.   

    楼主应该是学过C或C++再来学业Java的,我个人认为,用Java 语言提供的API或类,你无法得到一个常量存在哪个内存区.也不可能对他进行修改.如有误楼下补充.