android - 如何在辅助构造函数kotlin中访问主构造函数参数
问题描述
我正在学习 kotlin,并且正在阅读有关构造函数:主要和次要的内容。
这是我的问题,我应该如何访问辅助构造函数中的主构造函数参数。我无法访问,但我不知道为什么?为什么我无法直接访问它?
如果有人知道,请帮助我更好地理解这个概念。为什么我无法访问它?
我创建了一个带有两个构造函数的演示类,这是我的代码:
fun main(args: Array<String>) {
val person1 = Person("Joe", 25)
println("First Name = ${person1.firstName}") // working, printing first name
}
class Person(val firstName: String, var age: Int) {
constructor(sectionName: String, id: Int, name: String) : this(sectionName,id) {
println("Age = ${age}") // not working, no output
}
}
还是我做错了什么?
PS:我知道我可以编写初始化块并将参数分配给类变量,它按预期工作。
解决方案
您必须调用辅助构造函数,它需要一个尾随name
参数:
val person1 = Person("Joe", 25, "name") //prints Age = 25
val person2 = Person("Joe", 25) //prints nothing
在您的示例中,选择主构造函数作为参数列表映射其参数。
推荐阅读
- javascript - Angular 仅在自上次轮询后发生更改时才更新对象
- excel - 如果添加了行,则自动在另一个工作表中插入行
- time - 以特定速率滴答作响的秒表?
- django-rest-framework - 什么是允许 REST API 公开的安全方法?
- mysql - MySQL 的 UNION ALL 性能调优?
- python - 如何对数据透视表上的值进行分组?
- c++ - C++ MFC EditBox 处理双击
- javascript - 如何在页面加载之前保留或选择最后一个活动节点状态
- python - 在执行程序之前先检测文件是否存在
- linux-kernel - 如何在 beaglebone black 上找到 mini-usb 的串口?