work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

JVM 初始化阶段例子 final常量

Posted on 2019-06-09 20:19  work hard work smart  阅读(373)  评论(0编辑  收藏  举报

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