【问题标题】:Meaning of val / var when using Kotlin Primary constructor使用 Kotlin Primary 构造函数时 val / var 的含义
【发布时间】:2021-07-06 17:50:21
【问题描述】:

我见过使用这样的 Primary-constructor 的 Kotlin 示例:

class Person(firstName: String, lastName: String) {}

我已经看到了带有 var 或 val 关键字的示例,如下所示:

class Person(val firstName: String, val lastName: String) {}

有什么区别?我什么时候必须使用哪种变体?

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    关于documentation,在构造函数中使用varval 在类中创建property。如果不写,那么传递给构造函数的只是一个parameter。举个例子:

    class Person(val firstName: String, lastName: String) {
        
        // firstName and lastName accessible
      
        fun getFirstName() = firstName // firstName accessible
    
        fun getLastName() = lastName // lastName not accessible
    }
    

    所以如果你想继续使用firstNamelastName,我会用它做一个属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多