【发布时间】:2016-07-04 01:32:43
【问题描述】:
我是 Java 的初学者。我想知道,如果变量在初始化之前需要复杂的计算,但一旦初始化,它就不会改变。我想使变量最终,但不是在构造函数中初始化它,我宁愿在一个方法中初始化它,以便以后可以重用这个方法。有没有办法实现这一目标?
除了上述所有要求之外,如果我只想在需要时计算这个变量的值,会发生什么(因为计算它的计算成本很高)。在这种情况下我该怎么办?
【问题讨论】:
-
您总是可以编写一个计算最终变量值的方法,并在构造函数中调用该方法将返回值分配给最终变量。为什么不呢?
-
对于第二个问题,您将布尔值传递给对象的构造函数
shouldInitializeFinalVariable并根据该方法调用昂贵的方法,否则默认为无参数构造函数
标签: java variables methods constructor final