Объявление поля статического интерфейса в Котлине

Можно ли написать эквивалент Java

interface Foo { public static final INSTANCE = new Foo {}; } 

в Котлине?

Если Foo был классом, я мог бы использовать:

 class Foo { companion object { @JvmField val INSTANCE = object : Foo() {} } } 

но с интерфейсом он дает ошибку:

JvmField нельзя применить к свойству, определенному в сопутствующем объекте интерфейса

@JvmStatic не работает.

Для меня работает следующее.

 interface Foo { fun bar() companion object { val INSTANCE = object : Foo { // There are no () An interface cannot be instantiated. override fun bar() { //Do something ... } } } } 

Затем в вашей деятельности просто вызов Foo.INSTANCE возвращает экземпляр в Foo .