您的位置:首页 > 编程语言 > Java开发

【java】final和final static的区别

2016-03-30 21:51 232 查看
    上午在写HBase访问测试用例的时候看到很多常量都用了静态常量的方式,于是就想了想它和final常量的区别。
    我们知道java类在加载过程中先加载static类型的代码块变量,而在实例化对象过程中不会再被修改。而final常量会在对象实例化过程中被初始化。
    【java类加载顺序http://www.cnblogs.com/guoyuqiangf8/archive/2012/10/31/2748909.html
    可看下面例子:
  


    引用自http://blog.csdn.net/javakuroro/article/details/6817520
    最终输出结果为:
        

sf : a=15 sf : B=18 -------------- sf1 : a=13 sf1 : B=18 

从结果可以看出private static final int 类型的B在类加载初始化后值不会再发生改变所以实例化两个对象后值都是18,而final int类型的常量A在两个对象中值是不一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java