使用构造函数初始化最终属性是否正确?
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;
)
我必须声明一个一旦初始化就不能修改的属性。我很清楚我们正在谈论最终类型,我的问题是我是否可以用构造函数初始化它。
奖励:我应该如何在 UML 图上表示这种类型的属性?
谢谢大家!
当您将属性定义为 final 时,您不能这样做,您必须内联或通过 class 的构造函数对其进行初始化。对于表示常量的属性的名称,您应该使用 UPPER_CASE_WITH_UNDERSORES
并且您应该在 UML 图中表示它们,如下所示:+ MY_CUSTOM_CONSTANT: Integer = 10
(对于 public final Integer MY_CUSTOM_CONSTANT = 10;
)