flutter const static final

核心: static 修饰 members , final 修饰 variables , const修饰value

static

static 意味着成员是类变量,⽽不是实例变量。

final

1.在运行时获得值, 且只能单次赋值即一旦赋值final就不能改变
2.声明的变量,不赋值是不可以使用的。

const

1.需要在编译期就能计算出来的数据创建
2.const 创建的控件不会重新构建
3.const 声明构造器就是告诉 Flutter 如果遇到了一个不可变的构造器,这就是一个不可变对象,可以进行复用。注意const 构造器需要字段为final修饰

应用

  • 单利实现
class Singleton {
//当你使用factory关键词时,你能控制在使用构造函数时,并不总是创建一个新的该类的对象
//比如它可能会从缓存中返回一个已有的实例,或者是返回子类的实例。
  factory Singleton() => _single;//
  static final _single = Singleton._init();
  Singleton._init(){}
}
  • 控件构建
child: const Text('加 const');
VS
child: Text('不加 const');
  • const 构造器
 final T data;
 final Widget child;
 const ChangeNotifierProvider({Key key, this.data, this.child})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容