為什么我按視頻中的方法,自定義多個構造方法,卻出錯呢?Dart版本問題?
通過試驗,發現只要對象中定義了final屬性,在定義多個命名對象的時候,每次都必須要對final屬性進行定義,否則會出錯。
以下是我改進過的,完全正確。
可是我百思不得其解的是,老師在視頻中的,為啥能夠正常運行呢?
可是我百思不得其解的是,老師在視頻中的,為啥能夠正常運行呢?
通過試驗,發現只要對象中定義了final屬性,在定義多個命名對象的時候,每次都必須要對final屬性進行定義,否則會出錯。
以下是我改進過的,完全正確。
可是我百思不得其解的是,老師在視頻中的,為啥能夠正常運行呢?
可是我百思不得其解的是,老師在視頻中的,為啥能夠正常運行呢?
2019-05-28
舉報
2024-01-17
目前新版本還需要處理變量的非空定義。
2019-05-29
很高興回答您的問題? 經過github查找 確實是版本問題? 在2.3版本中 添加了對 含有 final關鍵字 屬性的初始化校驗 意思就是? 如果類中的屬性 被標記為 final 那這個屬性必須初始化值 不然無法編譯通過 我是基于這個地址?https://github.com/dart-lang/sdk/commit/f8a96b88e9d52ac5cbbdc639d326e7a4baba3842 和以往編程語言對final 的定義 推斷出來的? ?這也就解釋了你之前的實驗 關鍵一點就是 含有final 屬性的字段 必須在 構造之前初始化? 目前我已知的有兩種方式 一 是 屬性聲明時初始化 如 final String workType = "XXX" ;? ?這樣 你在定義其他構造函數時 就無需添加 this.workType 了 另一種就是哥們你最后寫的那樣 使用語法糖 在構造函數中 寫his.workType? 這倆都是在調用構造函數之前 對 workType進行初始化 不知是否解決您的疑問哈