Статические поля справочного Java-интерфейса в Котлине
Можно ли ссылаться на поля интерфейса Java из Kotlin? У меня есть этот интерфейс Java:
public interface BaseColumns {
public static final String _ID = "_id";
public static final String _COUNT = "_count";
}
И я реализую его в Kotlin:
object UserEntry : BaseColumns {
// some code
}
Я получаю неразрешенную ссылку при попытке UserEntry._ID
. Как я могу получить доступ к _ID
? Я что-то упускаю? Спасибо!
Ответы
Ответ 1
В Kotlin, в отличие от Java, статические члены интерфейсов не выводятся и не могут быть вызваны в подклассах без указания имени интерфейса.
Вы должны ссылаться _ID
на BaseColumns
: BaseColumns._ID
будет работать.
Для классов это кажется другим: недопустимое имя статического члена базового класса разрешает ему, но член все еще не унаследован.