Kotlin构造函数(主要构造函数)

问题描述 投票:0回答:1

我对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之间有什么不同?

kotlin
1个回答
5
投票

第一个类没有主构造函数,而第二个类有一个。根据documentation for Secondary Constructors,你必须委托它。

如果类具有主构造函数,则每个辅助构造函数需要直接或间接通过另一个辅助构造函数委托给主构造函数。使用this关键字完成对同一个类的另一个构造函数的委派:

© www.soinside.com 2019 - 2024. All rights reserved.