您能否告诉我代码A和代码B之间的区别是什么?
代码A
class Person(firstName: String) {
}
代码B
class Person(val firstName: String) {
}
答案 0 :(得分:4)
首先一个就像为你的构造函数设置一个参数设置为类成员一样。
第二次您已经创建了一个成员变量firstName,并将传入的数据传递给它。
第二个代码等于:
class Person(firstName: String) {
val firstName:String?
init{
this.firstName = firstName
}
}
要清楚,让我们试试这段代码
fun main(args: Array<String>) {
var person = Person("Stackoverflow")
println(person.firstName)
}
class Person(val firstName: String) {
}
<强>输出强> Stackoverflow
okey让我们尝试第一个代码
fun main(args: Array<String>) {
var person = Person("mohamed")
println(person.firstName)
}
class Person( firstName: String) {
}
<强>输出强> 编译器错误
未解析的引用:firstName