如果我删除类中的“var”关键字有什么区别?

你能告诉我代码A和代码B的区别是什么?

代码A

class Person(firstName: String) { } 

代码B

 class Person(val firstName: String) { } 

一个就像给你的构造函数设置一个参数来设置类成员的参数一样。

其次,您已经创建了一个成员变量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) { } 

OUTPUT Stackoverflow

okey让我们尝试第一个代码

 fun main(args: Array<String>) { var person = Person("mohamed") println(person.firstName) } class Person( firstName: String) { } 

OUTPUT编译器错误

未解决的参考:名字