【发布时间】:2021-12-19 20:42:17
【问题描述】:
我正在尝试理解以下示例,其中我尝试在构造函数中初始化最终变量。
第一个例子 - 工作
void main() {
Test example = new Test(1,2);
print(example.a); //print gives 1
}
class Test
{
final int a;
int b;
Test(this.a, this.b);
}
第二个例子不起作用
void main() {
Test example = new Test(1,2);
print(example.a); //compiler throws an error
}
class Test
{
final int a;
int b;
Test(int a, int b){
this.a = a;
this.b = b;
}
}
当我删除 final 然后它再次工作
void main() {
Test example = new Test(1,2);
print(example.a); //print gives 1
}
class Test
{
int a;
int b;
Test(int a, int b){
this.a = a;
this.b = b;
}
}
第一个和第二个构造函数中的构造函数有什么区别,为什么最终初始化适用于第一个而不适用于第二个。
谁能给我解释一下? 谢谢
【问题讨论】:
标签: flutter dart constructor initialization final