जवाबों:
कोटलिन प्रलेखन के अनुसार यह समकक्ष है:
class Hello {
companion object {
const val MAX_LEN = 20
}
}
उपयोग:
fun main(srgs: Array<String>) {
println(Hello.MAX_LEN)
}
इसके अलावा यह स्थिर अंतिम संपत्ति है (गेट्टर के साथ क्षेत्र):
class Hello {
companion object {
@JvmStatic val MAX_LEN = 20
}
}
और अंत में यह स्थिर अंतिम क्षेत्र है:
class Hello {
companion object {
@JvmField val MAX_LEN = 20
}
}
const val- - समय को संकलित करें और सुनिश्चित करें कि इसे @JvmField valकुछ मामलों में प्रतिस्थापन के रूप में उपयोग किया जा सकता है । इसके माध्यम से अगर मूल्य - रनटाइम में गणना की जाती है, या यह आदिम प्रकार या स्ट्रिंग नहीं है। Ref: kotlinlang.org/docs/reference/…
यदि आपके पास एक कार्यान्वयन है Hello, तो companion objectएक कक्षा के अंदर उपयोग करें
class Hello {
companion object {
val MAX_LEN = 1 + 1
}
}
यदि Helloएक शुद्ध सिंगलटन ऑब्जेक्ट है
object Hello {
val MAX_LEN = 1 + 1
}
यदि गुण संकलन-समय स्थिरांक हैं, तो एक constकीवर्ड जोड़ें
object Hello {
const val MAX_LEN = 20
}
यदि आप इसे जावा में उपयोग करना चाहते हैं, तो @JvmStaticएनोटेशन जोड़ें
object Hello {
@JvmStatic val MAX_LEN = 20
}
मेरे लिए
object Hello {
const val MAX_LEN = 20
}
बहुत बॉयलरप्लेट था। मैंने अपनी कक्षा के ऊपर स्थिर अंतिम फ़ील्ड को इस तरह रखा
val MIN_LENGTH = 10
class MyService{
}
private) के बाहर उजागर होने की आवश्यकता नहीं है , यह परिभाषा सबसे संक्षिप्त है।