我有一个Java界面
public interface SampleInterface extends Serializable {
Long getId();
void setId(Long id);
}
和一个应该实现它的Kotlin类
open class ClazzImpl() : SampleInterface
private val id: Unit? = null
fun getId(): Long? {
return null
}
fun setId(id: Long?) {
}
但是我收到了编译错误:
类ClazzImpl不是抽象的,也没有实现抽象成员public abstract fun setId(id:Long!):在com中定义的单元.... SampleInterface
任何想法有什么不对?
3 回答
Egor和tynn的其他答案很重要,但您在问题中提到的错误与他们的答案无关 .
你必须先添加花括号 .
如果你添加大括号,那个错误就会消失,但你会得到一个像这样的新错误:
现在,正如其他答案中所建议的那样,您必须为函数添加override修饰符:
您必须在
fun
之前添加override
关键字:在Kotlin中实现接口时,必须确保覆盖类主体的接口方法 inside :