第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么第一個(gè)gender打印出來(lái)的是null

為什么第一個(gè)gender打印出來(lái)的是null

慕虎7371278 2018-08-10 16:21:16
題目描述為什么第一個(gè)gender打印出來(lái)的是null題目來(lái)源及自己的思路我已經(jīng)初試化了val gender: String = "male" ,但是貌似結(jié)果不對(duì)。相關(guān)代碼object ObjectExample {  def main(args: Array[String]): Unit = {    val student = new Student("zhu", 18, "zz")   }    class People(val name: String, val age: Int) {     println("constructor")     println(name)    val gender: String = "male"     println(gender)    def this(name1: String) = {      this("ci", 18)       println("subconstructor")       println(name)     }   }    class Student(name: String, age: Int, val school: String) extends People(name, age){     println("derived constructor")     println(name)     println(school)    override val gender: String = "female"     println(gender)   } }錯(cuò)誤信息constructor zhu null derived constructor zhu zz female
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

把class移到外面仍然是無(wú)效的。
我對(duì)這個(gè)理解就是,val類型不能被初始化兩次。如果非要用重寫來(lái)“初試化”兩次,那么編譯器就會(huì)忽略父類的初始化,而去使用子類的初始化,而此時(shí)子類的初始化并沒(méi)有執(zhí)行,所以只能是null。改成lazy類型就可以了,當(dāng)然了,還有其他更多的方法。參考資料見(jiàn)Variable has been Initialized in Scala class, but what it print is null?(這個(gè)問(wèn)題是我提出的)。scala官網(wǎng)也有解釋WHY IS MY ABSTRACT OR OVERRIDDEN VAL NULL?

查看完整回答
反對(duì) 回復(fù) 2018-08-12
  • 1 回答
  • 0 關(guān)注
  • 788 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)