初始化列表介绍
作用 : 在构造函数中设置属性的默认值。
时机 : 在构造函数体执行之前执行。
语法 : 构造函数 () : 使用逗号分隔的初始化赋值表达式。
场景 : 常用于设置 final 常量的值。
示例
class Person {
final String name;
final int age;
Person()
: this.name = "John",
this.age = 25;
void Say() {
print("My name is ${this.name} and I am ${this.age} years old.");
}
}
void main(List<String> args) {
Person person = Person();
person.Say();
}
初始化列表的特殊用法 (重定向构造函数)
class Point {
num x, y, z;
Point(this.x, this.y, this.z);
// (重定向构造函数
Point.xy(num x, num y) : this(x, y, 0);
}
void main(List<String> args) {
Point p = Point.xy(1, 2);
print(p.x);
print(p.y);
print(p.z);
}