我对Kotlin构造函数有疑问。
class abc {
constructor(a: Int)
constructor(a: Int, e: Int)
}
class def(a: Int) {
constructor(a: Int, e: Int) : this(a)
}
为什么我需要在def类中调用这个(a)?
abc和def之间有什么不同?
第一个类没有主构造函数,而第二个类有一个。根据documentation for Secondary Constructors,你必须委托它。
如果类具有主构造函数,则每个辅助构造函数需要直接或间接通过另一个辅助构造函数委托给主构造函数。使用
this
关键字完成对同一个类的另一个构造函数的委派: