class A {
A() {print("I am A.");}
}
class B extends A {
int age; String name;
B(a, this.name)
: age = a > 0 ? a : 10,
assert(name.isNotEmpty),
super() {
print("I am B.");
}
}
B类构造函数后的冒号后面的内容就是初始化列表。
注意事项:
- 不同的初始化实例变量之间使用逗号隔开;
- 初始化列表中可以使用assert判断参数;
- 父类构造器也是初始化列表而且必须写在最后;
- 调用B类的构造函数时,先按顺序执行初始化列表内容,然后再执行“{}”内的内容。