我在网上的一些示例中注意到,扩展StatefulWidget
的类具有标记为final的实例变量。这是为什么?
我了解final关键字的作用。我不明白为什么要用扩展小部件类的每个实例变量声明它。
最佳答案
由于StatefulWidget
继承了被标记为Widget
的@immutable
,因此StatefulWidget
的任何子类也必须是不可变的(即所有字段都是final)。
如果使用非最终字段创建StatefulWidget
子类,则将导致此Dart分析警告:
并从StatefulWidget documentation中解释如何使用StatefulWidget
: