Kotlin覆盖Java setter

我用这个方法实现一个java接口(Command):

void setInputStream(InputStream in); 

我想用Kotlin制定者来覆盖这个:

 class ProxyCommand : Command { lateinit var _inputStream: ChannelPipedInputStream var inputStream: InputStream get() = this._inputStream set(value) { // This should override it. this._inputStream = (value as ChannelPipedInputStream) } } 

但是我得到这个错误在set(value)

 Accidental override: The following declarations have the same JVM signature (setInputStream(Ljava/io/InputStream;)V): public final fun (value: InputStream): Unit defined in ... public abstract fun setInputStream(`in`: InputStream!): Unit defined in ... 

它说这是一个意外的重载,但它不是偶然的…

我想要什么? 或者我必须重写setInputStream方法。 我更喜欢kotlin二传手

这是你的问题的答案:

https://stackoverflow.com/a/32971284/8073652

或者我必须重写setInputStream方法。 我更喜欢kotlin二传手

这是你应该做的一个解决方法:

 class ProxyCommand : Command { override fun setInputStream(`in`: InputStream) { TODO("not implemented") } private lateinit var inputStream: ChannelPipedInputStream }