dart - Dart:为什么常量变量不能是实例变量?
问题描述
https://www.dartlang.org/guides/language/language-tour#final-and-const
在 Dart 文档的 Language Tour 中,它说“注意:实例变量可以是 final 但不是 const。final 实例变量必须在构造函数主体开始之前初始化——在变量声明处、通过构造函数参数或在构造函数的初始化列表中。 "
但是可以使用常量构造函数来创建常量对象。为什么 Dart 中不能将常量变量声明为成员变量?
解决方案
const
表示编译时常量。
如果您需要在运行时创建一个实例来创建值,它不再是编译时常量,因此它的成员也不能是const
.
静态成员不需要创建实例,因此无论类是否具有 const 构造函数或是否使用它,它都可以是常量const
。
推荐阅读
- android - 如何解决此错误:预期 BEGIN_ARRAY 但在第 1 行第 2 列路径 $ 处为 BEGIN_OBJECT
- hql - HQL 查询在使用类似运算符进行搜索时返回空值
- c# - 在 Form_FormClosing 中单击是时,C# 对话框不断弹出
- c - 关于链表和节点插入的基本问题
- d3.js - dc.js 绘制嵌套数据数组的图表
- javascript - React Router - 历史推送状态不刷新新状态对象
- c++ - 调用 std::function 成员时内存损坏
- c - 如何修复“[something] may be used uninitialized in this function”警告?
- azure - 通过 Powershell 脚本使用 Azure Cli 自动创建 Azure 角色并将其分配给 Azure AD 用户
- r - ggplot2 绘制线和点的顺序