如何正确使用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”。