Ответ
Нет, в Java/Kotlin интерфейсы не могут иметь конструкторов. Интерфейс - это абстрактная сущность, определяющая контракт (методы), который должны реализовать классы. Конструктор - это часть реализации, а интерфейс не содержит реализации.
Однако, в Kotlin есть companion object, который можно использовать в интерфейсах для фабричных методов:
interface MyInterface {
companion object {
fun create(): MyInterface = object : MyInterface {
// реализация
}
}
}
// Использование:
val instance = MyInterface.create()
В Java можно использовать статические фабричные методы в интерфейсах (начиная с Java 8):
interface MyInterface {
static MyInterface create() {
return new MyInterface() {
// реализация
};
}
}