在Kotlin中,我想要一个接口,该接口要求实现类具有特定的构造函数。像这样:
interface Inter<T> {
// Must have constructor (t: T)
}
class Impl(t: String): Inter<String>
如何实现?
答案 0 :(得分:1)
接口在Kotlin中不能具有构造函数。
接口can have:
您最接近要实现的目标是使用抽象类或普通类:
abstract class Foo<T>(val t: T)
class Bar<T>(t: T): Foo<T>(t)
请注意,Bar
必须调用Foo
的主要构造函数,但不必公开它。
abstract class Foo<T>(val t: T)
class Bar: Foo<String>("Hello")
所以,这是完全有效的:
Bar()
如您所见,您实际上不能坚持认为实现类具有特定的构造函数。