在 Kotlin 中,我希望有一个接口,要求实现类具有特定的构造函数。像这样的东西:
interface Inter<T> {
// Must have constructor (t: T)
}
class Impl(t: String): Inter<String>
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标?
Wil*_*zel 13
Kotlin 中的接口不能有构造函数。
接口可以有:
最接近您想要实现的目标的是使用抽象类或普通类:
abstract class Foo<T>(val t: T)
class Bar<T>(t: T): Foo<T>(t)
Run Code Online (Sandbox Code Playgroud)
请注意,Bar
必须调用 的主构造函数Foo
,但不必公开它。
abstract class Foo<T>(val t: T)
class Bar: Foo<String>("Hello")
Run Code Online (Sandbox Code Playgroud)
所以,这是完全有效的:
Bar()
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,您实际上不能坚持实现类具有特定的构造函数。
归档时间: |
|
查看次数: |
16104 次 |
最近记录: |