【发布时间】:2020-02-19 08:58:54
【问题描述】:
一个接口是'org.springframework.data.domain.Persistable',它是一个java接口,在3rd-party lib中有一个ID getId()方法。
另一个接口是 Kotlin 接口interface IdEntry { val id: String}。
现在我的业务入口需要实现这两个接口:
data class MyEntry(
override val id: String,
....// more properties
) : IdEntry, Persistable<String>
我使用 IntelliJ IDE 编码,错误是:
Class 'MyEntry' is not abstract and does not implement abstract member
@Nullable public abstract fun getId(): String!
defined in org.springframework.data.domain.Persistable
我该如何解决这个问题?
我也试过下面的代码:(来自here的想法)
data class MyEntry(
private val id: String,
....// more properties
) : IdEntry, Persistable<String> {
override fun getId() = id
...
}
但这也失败了:
Cannot weaken access privilege 'public' for 'id' in 'IdEntry'
【问题讨论】:
-
你认为这意味着什么:不能削弱“IdEntry”中“id”的访问权限“public”?
-
这是来自 IntelliJ IDEA 的错误提示。
-
是的,我明白了,但你知道这意味着什么吗?你知道 IntelliJ 想告诉你什么吗?
-
我知道这是什么意思,但不知道如何解决。
标签: kotlin spring-data spring-data-r2dbc spring-data-commons