为什么不能直接使用构造函数参数(不是属性)作为成员函数的变量?
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
}
}
下面的例子将是我认为最能描述我的误解的例子:
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
}
}