[Kotlin] Companion Object?



Companion Object


彼は何をしていますか.🤔
この仲間objectというやつはkotlinにしか存在しない.
通常はkotlinがjavaで使用したstaticがないため、類似の機能を提供しているためよく使われています.
形態を簡単に理解すると、
class moko {
    companion object {
        val PERSON = "heymoko"
        fun comeon() {
        }
    }
}
このように組織され、外部からアクセスするために
moko.TAG
moko.companion.TAG
moko.comeon()
このように近づくことができます
クラスにいなくても.
 companion object {
        private const val DEFAULT_URL = "http://www.google.com"
    }
このように配置することで、簡単に取り出すことができます.
webview.loadUrl(DEFAULT_URL)    // www.google.com이 정상적으로 실행된다.
Companion objectはJavaでは使えませんか?
いくつかの変更を行うだけでjavaも使用できます.
cont処理のプロパティは、Javaで直接使用でき、操作する必要はありません.関数は@jvmstaticという構文でJavaで使用できます.
class moko {
    companion object {
        const val PERSON = "heymoko"
        @JvmStatic fun comeon() {
        }
    }
}
前述したようにjavaでも使用できますが、constを貼り付けることができない場合は@jvmFieldでソリューションを使用できます.