Avatar ·

如何正确使用Kotlin中的secondary constructors?语法与示例

大家好!我刚从Java开始学习Kotlin,在创建具有多个构造函数的类时遇到了问题。 在Java中,我习惯这样写: ```java public class User { private String name; private int age; public User(String name) { this.name = name; this.age = 0; } public User(String name, int age) { this.name = name; this.age = age; } } ``` 但在Kotlin中,我看到一些奇怪的语法,带有`constructor`关键字和冒号。我尝试写类似这样的代码: ```kotlin class User { var name: String = "" var age: Int = 0 constructor(name: String) { this.name = name } constructor(name: String, age: Int) { this.name = name this.age = age } } ``` 但编译器报错说“expected primary constructor call”。我不明白为什么需要带`this`的冒号,以及什么是“delegation”。