scala里面類成員變量究竟是解析為class文件的呢是整?讓我們一探究竟
父類:
package scala
class Parent(id:String) {
}
子類:
package scala
class Children(defaultValue:String,
? ? ? ? ? ? ? val valValue:String,
? ? ? ? ? ? ? var varValue:String,
? ? ? ? ? ? ? id:String)extends Parent(id) {
}
編譯為class文件,使用jd-jui來反編譯class文件結(jié)果如下雪标,
圖一
圖二
可以看到不加修飾符的parent的id叉弦,解析成class文件的時(shí)候并不是parent的成員變量忙厌,只是一個(gè)構(gòu)造方法的參數(shù)铃岔,val的變量涉馁,默認(rèn)生成"get"方法门岔,var的變量回生成”get,set“谨胞,方法固歪。
思考:當(dāng)parent的id為var時(shí),子類的id需要怎樣修改胯努,才能使scala 編譯通過牢裳?