您的位置 首页 java

Dart语言中的常量构造函数:Dart const constructor

Dart的基本语法和 Java 有些类似,但是Dart有些额外的“奇葩”语法,比如常量构造函数。

 class Foo {
   const  Foo(int x);
}

const foo1 = Foo(3);
var foo2 = const Foo(3);
// identical返回两个变量是否引用同一个对象
assert(identical(foo1, foo2));  

这样创建出来的foo1和foo2是两个常量,它们指向的是同一个对象。

常量构造函数的好处

编译器会对常量进行优化,如果两个常量的构造函数和参数值都是一样的,编译器会重用已有的常量对象,不会再创建新对象。

常量构造函数的要求

  1. 要定义常量构造函数,class里所有的字段必须是final的,也就是不能改变的。
  2. 使用常量构造函数时,传递的参数也必须都是常量。

另外,可以把常量构造函数当成普通构造函数使用,这时构造函数的参数可以不用是常量。

文章来源:智云一二三科技

文章标题:Dart语言中的常量构造函数:Dart const constructor

文章地址:https://www.zhihuclub.com/176532.shtml

关于作者: 智云科技

热门文章

网站地图