,请大神帮我解答一下, 我实现是想不通了
我回答一下这个问题:为什么这里的name值,被外部调用有所改变
注释下面的构造方法写法是Dart的语法糖写法,实际等价于:
const Person(String name,int age){
this.name = name;
this.age = age;
}
所以被外部调用时,name的值会有所改变。当然这种写法在这种情况下会报错,因为常量构造方法中类的所有属性都需要是final,所以只能使用语法糖的写法。目前的课程节点只有语法糖这种写法,可以初始化类的final属性
类的属性使用final,为了配合实例化时的const。先赋值再执行构造函数,name不是被外部调用改变,而是在进行赋值