我认为这是安全的,因为Java内存模型指出:
令 o 为对象, c 为 o 的构造函数,其中写入最终字段 f 。当 c 正常或突然退出时,会对 o的 最终字段 f
进行冻结操作。请注意,如果一个构造函数调用了另一个构造函数,并且被调用的构造函数设置了一个final字段,则最终字段的冻结发生在被调用的构造函数的末尾。

我认为这是安全的,因为Java内存模型指出:
令 o 为对象, c 为 o 的构造函数,其中写入最终字段 f 。当 c 正常或突然退出时,会对 o的 最终字段 f
进行冻结操作。请注意,如果一个构造函数调用了另一个构造函数,并且被调用的构造函数设置了一个final字段,则最终字段的冻结发生在被调用的构造函数的末尾。