猿问

Java:是否有依赖于字段初始化序列的风险?

我正在使用像这样的类字段进行默认初始化。我想这些字段将按如下顺序初始化:


class NormalInit {

    int i = 3;

    LocalDate h = LocalDate.now();

    public int year = h.getYear(); // is it safe?

}

我的问题:


(1)我对序列的假设是正确的吗(由Java或jvm规范保证吗?)


(2)这种初始化是否有常见的失败/陷阱?


慕工程0101907
浏览 160回答 2
2回答

拉丁的传说

h取决于year,JVM不会重新排序这些分配。但i没有依赖关系,因此JVM可以在构造的任何时刻将其初始化。
随时随地看视频慕课网APP

相关分类

Java
我要回答