我在网上的一些示例中注意到,扩展StatefulWidget的类具有标记为final的实例变量。这是为什么?
我了解final关键字的作用。我不明白为什么要用扩展小部件类的每个实例变量声明它。

最佳答案

由于StatefulWidget继承了被标记为Widget@immutable,因此StatefulWidget的任何子类也必须是不可变的(即所有字段都是final)。
如果使用非最终字段创建StatefulWidget子类,则将导致此Dart分析警告:

并从StatefulWidget documentation中解释如何使用StatefulWidget:

10-08 14:26