使用构造函数初始化最终属性是否正确?

Is it correct to initialize a final attribute with a constructor?

我必须声明一个一旦初始化就不能修改的属性。我很清楚我们正在谈论最终类型,我的问题是我是否可以用构造函数初始化它。

奖励:我应该如何在 UML 图上表示这种类型的属性?

谢谢大家!

当您将属性定义为 final 时,您不能这样做,您必须内联或通过 class 的构造函数对其进行初始化。对于表示常量的属性的名称,您应该使用 UPPER_CASE_WITH_UNDERSORES 并且您应该在 UML 图中表示它们,如下所示:+ MY_CUSTOM_CONSTANT: Integer = 10(对于 public final Integer MY_CUSTOM_CONSTANT = 10;