Класс Kotlin, реализующий ошибку интерфейса Java

У меня есть интерфейс Java

public interface SampleInterface extends Serializable { Long getId(); void setId(Long id); } 

и класс Котлина, который должен его реализовать

 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!): Unit, определенный в com … SampleInterface

любые идеи, что не так?

Другие ответы от Egor и tynn важны, но ошибка, о которой вы упомянули в вопросе, не связана с их ответами.

Сначала вы должны добавить фигурные скобки.

 open class ClazzImpl() : SampleInterface { private val id: Unit? = null fun getId(): Long? { return null } fun setId(id: Long?) { } } 

Если вы добавите фигурные скобки, эта ошибка исчезнет, ​​но вы получите новую ошибку:

'getId' скрывает член супертипа 'SampleInterface' и нуждается в модификации 'override'

Теперь, как было предложено в других ответах, вы должны добавить модификатор переопределения к функциям:

 open class ClazzImpl() : SampleInterface { private val id: Unit? = null override fun getId(): Long? { return null } override fun setId(id: Long?) { } } 

Вы должны добавить ключевое слово override перед fun :

 override fun getId(): Long? { return null } override fun setId(id: Long?) { } 

Когда вы реализуете интерфейс внутри Kotlin , вы должны обязательно переопределить методы интерфейса внутри тела класса:

 open class ClazzImpl() : SampleInterface { private var id: Long? = null override fun getId(): Long? { return id } override fun setId(id: Long?) { this.id = id } } 
Intereting Posts
locationManager.getBestProvider возвращает значение null для API 15 (API <23) Вызов метода класса по умолчанию arg в конструкторе Делегирование методов производных классов с помощью динамической отправки Настройка проекта kotlin с градиентом Прикрепление, чтобы заменить вектор, который можно вырезать с помощью изображения с камеры, и растягиваемый растягивается за изображение? Как справляться с проблемой перегрузки неоднозначность функций с дженериками? Как исправить ошибку вывода типа в Completed, преобразованную с помощью RxLifecycle.bindToLifecycle ()? Замена Kotlin для groovy XmlSlurper & MarkupBuilder Как установить статическое свойство в классе в Kotlin для Javascript Рефакторинг моего класса зрителей в Котлине Котлинский андроид Недопустимая строка JSON для ответа в android-apollo Котлин «не ожидал никаких параметров» при попытке вернуть встроенную лямбду Android Spinner getDropDownView повторяет элементы после выбора Библиотека Glide java.lang.NoClassDefFoundError