【发布时间】:2018-02-04 07:52:09
【问题描述】:
我正在尝试制作类似于this的东西(实际上您不需要阅读链接即可理解这个问题,仅供参考),我写了这个:
class CallArbiter: AtomicInteger { // error
constructor(initialValue: Int) : super(initialValue)
constructor() : super()
}
编译器说:
错误:(8, 1) Kotlin: Class 'CallArbiter' must be declared abstract or implement abstract base class member public abstract fun toByte(): Byte defined in java.util.concurrent.atomic.AtomicInteger
我不明白为什么它需要我实现这些方法。我在AtomicInteger 课程中没有看到它们。 Java 中的一切都很好。
【问题讨论】:
-
它是 Kotlin 的映射类型。
-
是的,因为
kotlin.Number映射到java.lang.Number -
看来你遇到过这个bug:youtrack.jetbrains.com/issue/KT-16087
-
想起一句古话:“直钩,咸鱼”