常量非在编译期间可以确定的值
Posted sico
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常量非在编译期间可以确定的值相关的知识,希望对你有一定的参考价值。
package com.atzhangwl.jvm.classloader;
import java.util.UUID;
/**
* @ClassName Run_03
* @Description
* @Author zhangwl
* @Date 2020/1/4 16:36
* @Version 1.0
**/
public class Run_03 {
public static void main(String[] args) {
System.out.println(MyParent3.parentStr);
}
}
class MyParent3 {
/**
*当一个常量并非编译期间可以确定的值时,那么该常量值就不会被放在调用类的常量池中,
*在程序运行时,会导致主动使用这个常量所在的类,从而导致这个类被初始化
*/
public static final String parentStr = UUID.randomUUID().toString();
// public static final String parentStr = "parentStr";
static {
System.out.println("The static block is from parent");
}
}
以上是关于常量非在编译期间可以确定的值的主要内容,如果未能解决你的问题,请参考以下文章