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类的构造函数时,先按顺序执行初始化列表内容,然后再执行“{}”内的内容。
2022-02-19