gpt4 book ai didi

kotlin - 了解Kotlin中的辅助构造函数

转载 作者:行者123 更新时间:2023-12-02 12:57:48 25 4
gpt4 key购买 nike

我不了解this的用法,如何创建对象或调用构造函数以及以下代码中发生的事情。

class Person {
var children: MutableList<Person> = mutableListOf<Person>();
constructor(parent: Person) {
parent.children.add(this)
}
}

class Person(val name: String) {
var children: MutableList<Person> = mutableListOf<Person>();
constructor(name: String, parent: Person) : this(name) {
parent.children.add(this)
}
}

来源: https://kotlinlang.org/docs/reference/classes.html

最佳答案

: this(...)调用意味着调用另一个构造函数,因此每个对象也都是使用主要构造函数构造的。

class Person /* a */ (val name: String) {
var children: MutableList<Person> = mutableListOf<Person>();
/* b */ constructor(name: String, parent: Person) : this(name) {
parent.children.add(this)
}
}

在此示例中,在 a之后有一个主构造函数,在 b之后有一个辅助构造函数,因此有两种实例化此类的方法。
  • 调用主要的构造函数:Person("abc")
  • 调用辅助构造函数:Person("abc", Person("dfg")),并确保将同时调用主构造函数和辅助构造函数。
  • 关于kotlin - 了解Kotlin中的辅助构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57402751/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com