【Kotlin】物件與伴生物件
阿新 • • 發佈:2019-02-05
object:物件
一般兩種用法:
1.修飾物件,object A{}類似於static class A{}並把其中所有屬性和方法變為靜態的。
object Sington {
val name = "Sington"//直接通過Sington.name呼叫
fun printlnName() {//直接通過Sington.printlnName()呼叫
}
}
2.宣告匿名內部類:目前我看到的只有在匿名回撥函式中使用。
textView.setOnClickListener(object : OnClickListener { override fun onClick(p0: View?) { } })
companion object:伴生物件
只能放在class中,且單個class中只能存在一個,類似人生來就有個嘴巴,然後只能有一個,嘴巴就是人的伴生物件。
主要用來表示類中的常量集合,解決kotlin中沒有static的問題,其作用類似於頂級函式和頂級屬性。
疑惑:伴生物件的作用和頂級函式、頂級屬性的作用基本相同,那麼區別在哪?