data class 跟一般class基本上都是一樣,只是data class加了幾項功能,方便我們使用而以。
用途
data class用來裝載物件變數時,非常方便
data class G(var account:String , var password:String)
fun main(args:Array<String>){
var g=G("thomas", "1234")
println("%s, %s".format(g.account, g.password))
}
結果:
thomas, 1234
到目前為止,有沒有加 data,都是一樣的。但接下來的特異功能,就不是一般class所能達成的
toString
data class 覆寫toString()方法,使如下代碼可以印出裏面的物件變數,而不是HashCode。data class 的toString方法,只會輸出主建構子裏的物件變數。所以data class的主建構子中,只能是 var 或 val,不可以是一般的常數。
