“意外覆盖:实现 Java 接口时,以下声明具有相同的 JVM 签名”
我遇到了以下错误,试图扩展 RuntimeException 并从我的 Kotlin 代码中实现用 Java 定义的 GraphQLError 接口。这是错误:
意外覆盖:以下声明具有相同的 JVM 签名 (getMessage()Ljava.lang.string;):
public open fun <get-message>(): String? defined in NegativeCountException
public open fun getMessage(): String? defined in NegativeCountException
以下是我的代码:
class NegativeCountException() : RuntimeException(), GraphQLError {
override fun getMessage(): String? {
TODO("not implemented")
}
<...>
}
其中 是一个接口,在 Java 中定义,如下图所示:GraphQLError
public interface GraphQLError {
String getMessage();
<...>
}
似乎它与 中的定义相冲突。getMessage()
Throwable
我无法更改接口的代码,因为它来自库。
如何创建我自己的运行时异常,以实现 GraphQLError?
PS:我也尝试了以下方法,并收到了一个非常相似的错误:
class NegativeCountException(override val message: String?) : RuntimeException(), GraphQLError {
<...>
}