zoukankan      html  css  js  c++  java
  • Java中static final 与 final 的区别(转载)

      转自:http://advance0683.iteye.com/blog/1107732

    Java中static final 与 final 的区别:

    例子:

    Java代码

        import java.util.Random;  
          
        //这个例子想说明一下static final 与 final的区别  
        public class StaticAndFinalTest {  
              
            private static Random rand = new Random(47); //47作为随机种子,为的就是产生随机数。  
              
            private final int a = rand.nextInt(20);  
              
            private static final int B = rand.nextInt(20);  
          
            public static void main(String[] args) {  
                StaticAndFinalTest sf = new StaticAndFinalTest();  
                System.out.println("sf : " + "a=" + sf.a);  
                System.out.println("sf : " + "B=" + sf.B);  
                System.out.println("------------------------------");  
                StaticAndFinalTest sf1 = new StaticAndFinalTest();  
                System.out.println("sf1 : " + "a=" + sf1.a);  
                System.out.println("sf1 : " + "B=" + sf1.B);  
            }  
          
        }  

    运行结果:

    Java代码

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

     可以看到,在sf和sf1对象中,a的值不是唯一的,但B的值是不会通过创建sf1对象而改变。这是因为它是static,在装载时已被初始化,而不是每次创建新对象时都初始化。

  • 相关阅读:
    网络流 方阵移动
    NOI2019滚粗记
    PKUSC2019游记
    CQOI十二省联考游记
    数学结论题 书堆
    计算几何 大灾变
    51NOD 1773 A国的贸易
    BZOJ 3944
    51Nod 1238
    NOIP2018游记
  • 原文地址:https://www.cnblogs.com/lance-ehf/p/4012910.html
Copyright © 2011-2022 走看看