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

问题描述

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

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

谢谢各位!

解决方法

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