一、數(shù)據(jù)類
java中的數(shù)據(jù)類通常需要實現(xiàn)equals()、hashCode()、toString()這幾個方法,特別是toString()方法用于提供清晰的輸入日志,否則打印的是一串內(nèi)存地址,Kotlin中就非常簡單,創(chuàng)建的類如下:
data class User(val username:String,val price:Double)
只需要一行代碼 就可以實現(xiàn)了,關(guān)鍵字data表明當(dāng)前類是一個數(shù)據(jù)類,當(dāng)類中沒有任何代碼的時候大括號也可以省略
測試一下代碼:
fun main() {
val userA=User("kot","男")
val userB=User("kot","男")
println(userA)
println("userA equals userB "+(userA==userB))
}
打印結(jié)果:
User(username=kot, sex=男)
userA equals userB true
二、單例類
Java中的單例是用關(guān)鍵字private將類的構(gòu)造函數(shù)私有化,然后外部提供一個getInstance的靜態(tài)方法,判斷當(dāng)前類是否為空,如果是null,就需要創(chuàng)建一個新的實例,否則直接返回緩存的實例即可。kotlin的調(diào)用更加簡單,
object Singleton {
}
這樣就定義了一個單例類了,是不是很簡單