问答详情
源自:6-5 常量构造方法

关于常量构造函数中的一些问题

http://img.mukewang.com/5da58ec40001fbea10581047.jpg,请大神帮我解答一下, 我实现是想不通了

提问者:幕布斯2154455 2019-10-15 17:18

个回答

  • 瓦洛佳YUP
    2021-07-25 17:14:27

    我回答一下这个问题:为什么这里的name值,被外部调用有所改变

    注释下面的构造方法写法是Dart的语法糖写法,实际等价于:

    const Person(String name,int age){

    this.name = name;

    this.age = age;

    }


    所以被外部调用时,name的值会有所改变。当然这种写法在这种情况下会报错,因为常量构造方法中类的所有属性都需要是final,所以只能使用语法糖的写法。目前的课程节点只有语法糖这种写法,可以初始化类的final属性

  • 慕仰6482713
    2019-11-11 16:23:41

    类的属性使用final,为了配合实例化时的const。先赋值再执行构造函数,name不是被外部调用改变,而是在进行赋值