美文网首页
flutter 中const,static,final区别

flutter 中const,static,final区别

作者: 张漂亮1号 | 来源:发表于2020-02-11 14:57 被阅读0次

    const,static,final在Dart中表示完全不同的事物:

    “ static ”表示成员在类本身而不是在类的实例上可用。这就是它的全部意思,并且没有用于其他任何用途。静态修改成员

    “ final ”表示单分配:最终变量或字段必须具有初始化程序。一旦分配了值,最终变量的值就无法更改。 final修改变量

    “ const ” 的含义在Dart中更加复杂和微妙。 const修改。您可以在创建集合时使用它,例如const [1,2,3]以及在构造对象(而不是new)时使用const Point(2,3)。在这里,const意味着可以在编译时完全确定对象的整个深度状态,并且对象将被冻结并且完全不可变。

    常量对象具有一些有趣的属性和限制:
    它们必须由可在编译时计算的数据创建。const对象无权访问在运行时需要计算的任何内容。1 + 2是有效的const表达式,但新的DateTime.now()不是。
    它们是深刻的,传递不变的。如果您有一个包含集合的最终字段,那么该集合仍然可以是可变的。如果您有const集合,则其中的所有内容也必须递归地为const。
    它们被规范。这有点像字符串实习:对于任何给定的const值,无论const表达式被计算了多少次,都将创建并重用单个const对象。

    image

    喜欢可以加Q群号:913934649,点赞,评论;

    简书: https://www.jianshu.com/u/88db5f15770d

    csdn:https://me.csdn.net/beyondforme

    掘金:https://juejin.im/user/5e09a9e86fb9a016271294a7

    相关文章

      网友评论

          本文标题:flutter 中const,static,final区别

          本文链接:https://www.haomeiwen.com/subject/zgdxfhtx.html