我在SO上阅读this answer,我想知道为什么这些字段被显式声明为static和const。 const字段是否在Dart中编译时间常量?如果不是这样意味着它们是隐含的静态的?
答案 0 :(得分:5)
理论上,您可以更改Dart,以便const
修饰符隐含static
。这是一份有效的提案,并得到了积极讨论。
我们更倾向于要求明确的static
:
const
用于不同的含义。目前,const
实例字段严格等同于final
字段。但是,他们不需要。例如,您可以更改Dart规范,以允许访问const
实例字段作为常量表达式的一部分。 (目前不允许访问const
字段右侧的字段。)答案 1 :(得分:-2)
恒定的课堂:
class Consts {
static const int maxLength = 50;
}
用法:
...
int length = Consts.maxLength;
...