JVM 初始化阶段 final常量

1、创建FinalTest类,里面有一个final常量x

class FinalTest{

    public static final int x = 3;

    static {
        System.out.println("FinalTest static block");
    }
}

public class MyTest8 {

    public static void main(String[] args) {
        System.out.println(FinalTest.x);
    }
}

  然后在Main方法里打印fianl常量。打印结果

3

  

2、然后去掉final,

class FinalTest{

    public static  int x = 3;

    static {
        System.out.println("FinalTest static block");
    }
}

public class MyTest8 {

    public static void main(String[] args) {
        System.out.println(FinalTest.x);
    }
}

  打印结果为:

FinalTest static block
3

  

3、将fianl常量改为随机生成

class FinalTest{

    public static  int x = new Random().nextInt(3);

    static {
        System.out.println("FinalTest static block");
    }
}

public class MyTest8 {

    public static void main(String[] args) {
        System.out.println(FinalTest.x);
    }
}

  打印结果

FinalTest static block
1

  

猜你喜欢

转载自www.cnblogs.com/linlf03/p/10994604.html