为什么不能直接使用构造函数参数(不是属性)作为成员函数的变量?

Why is it not possible to use the constructor parameter (not property) directly as variables for a member function?

下面的例子将是我认为最能描述我的误解的例子:

class myExampleClass (
    myString: String,
    val myInt: Int,
) {

    fun memberFunction() {
        val memberFunctionValA = myString // does not work
        val memberFunctionValB = myInt // does work
    }
}

有没有具体原因?我们是否总是必须将参数声明为属性才能在 class?

中使用它们

对于声明属性并从主构造函数初始化它们,Kotlin 有一个简洁的语法:

class Person(val firstName: String, val lastName: String, var age: Int) { /*...*/ }

我在 https://kotlinlang.org/docs/reference/classes.html 上找到了这个 据我所知,您在第一个参数中遗漏了一个 val 关键字。

class myExampleClass (
    val myString: String,        // this might work
    val myInt: Int,
) {

    fun memberFunction() {
        val memberFunctionValA = myString // does not work
        val memberFunctionValB = myInt // does work
    }
}