यह सुविधा किसी भी तरह से लागू नहीं होने लगती है।
@ एक similar question पर AndreyBreslav की टिप्पणी:
आप पल में Kotlin गुणों के साथ जावा तरीकों ओवरराइड नहीं कर सकते। यह अच्छा होगा यदि हम इसका समर्थन कर सकता है हो सकता है, लेकिन हम कैसे मिश्रित पदानुक्रम
इस के लिए लगातार यह करने के लिए अपनी समस्या को हल नहीं कर रहा है पता नहीं है लेकिन कम से कम कोड संकलन करता है: आप बदल सकते हैं @JvmName
annotation साथ गेटर के JVM नाम:
interface A {
fun getFoo(): SomeType
}
class B: A {
override fun getFoo() = foo
val foo: SomeType = someValue()
@JvmName("getFoo_") get() = field
}
इसके अलावा, एक और अधिक मुहावरेदार दृष्टिकोण को बदलने पर विचार: ताकि आप कार्यान्वयन में यह ओवरराइड कर सकते हैं, अपने इंटरफेस में val
-property को परिभाषित एस:
interface A {
val foo: SomeType
}
class B : A {
override val foo: SomeType = someValue()
}
class C : A {
override val foo: SomeType
get() = someCustomGetter()
}
यूपीडी: एक और कोटलिन-बेवकूफ दृष्टिकोण जोड़ा गया। – hotkey