- 作用:在构造函数中设置属性的默认值
- 时机:在构造函数体执行之前执行
- 语法:使用逗号分隔初始化的表达式
- 场景:常用于设置
final
常量的值
class Rect {
int height;
int width;
// Rect(this.height, this.width);
//可选参数的构造函数
// Rect([int height = 2, int width = 10]) {
// this.height = height;
// this.width = width;
// print('${this.height} ${this.width}');
// }
//命名构造函数
// Rect({int height = 2, int width = 10}) {
// this.height = height;
// this.width = width;
// print('${this.height} ${this.width}');
// }
//初始化列表
Rect()
: height = 4,
width = 20 {
print('${this.height} ${this.width}');
}
}
class Point {
int x, y, z;
//普通构造函数
Point(this.x, this.y, this.z);
//初始化列表的特殊用法(重定向构造函数)
Point.twoD(int x, int y) : this(x, y, 0);
}
void main(List<String> args) {
var R = Rect();
// var R = Rect(10, 20);
// print(R.height.toString() + R.width.toString());
//实例化点
Point p = new Point(1, 2, 3);
print(p.z);
Point p2 = new Point.twoD(1, 2);
print(p2.z);
}