1. 程式人生 > >【Kotlin】物件與伴生物件

【Kotlin】物件與伴生物件

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的問題,其作用類似於頂級函式和頂級屬性。

疑惑:伴生物件的作用和頂級函式、頂級屬性的作用基本相同,那麼區別在哪?