我一直在使用scala的lazy val
成语,我想在Java中实现类似的东西。我的主要问题是,为了构造一些价值,我需要一些在对象构建时不知道的其他值,但我不想在之后改变它。原因在于,我使用一个GUI库,以我的名义为对象创建实例,并在创建我需要的所有内容时调用其他方法,这是我知道需要的值的时候。推迟初始化不可变变量
以下是我尝试实现的属性:
*我的变量的不变性。
*以构造函数以外的其他方法初始化。
我不认为这是可能的在Java中,因为只有final
实现变量的不变性和final
变量不能在构造函数之外初始化。
Java中最接近我想达到的目标是什么?