【发布时间】:2018-01-12 14:20:00
【问题描述】:
我正在将 Java 中的一些类转换为 kotlin,但在尝试从接口继承时遇到了编译错误:
平台声明冲突:以下声明具有相同的 JVM 签名(getContentID()Ljava/lang/String;):
public open fun get-content-id(): 字符串? public open fun getContentId(): String?
界面如下:
interface Media {
val contentId: String
val displayRunTime: String
val genres: List<String>
val programId: String
val runTime: String
val type: String
}
这是课程:
class Airing : Media {
override val contentId: String? = null
override val displayRunTime: String? = null
override val genres: List<String>? = null
override val programId: String? = null
override val runTime: String? = null
override val type: String? = null
override fun getContentId(): String? {
return contentId
}
我是 kotlin 的超级新手。
【问题讨论】:
-
你在你的接口Media中定义了变量或函数吗?看起来它们是变量(Kotlin 中的属性)。我想你想定义一个函数列表(Java 中的方法)并在
Airling类中实现它们。没事吧?