首页 > 解决方案 > Kotlin 类中的构造函数参数和成员变量有什么区别?

问题描述

我发现构造函数参数成员变量的行为方式几乎相同。

唯一的区别是:noOfSides不能在内部更改class Square,而noOfSideVar可以在内部更改class Square

我写的代码:

fun main(args: Array<String>) {
    var square1 = Square(4)
    println("Parameter form: ${square1.noOfSides}")
    println("Variable form: ${square1.noOfSideVar}")

    square1.noOfSides = 10
    square1.noOfSideVar = 50

    println("New Parameter form: ${square1.noOfSides}")
    println("New Variable form: ${square1.noOfSideVar}")

}

open class Polygon(var noOfSides: Int)

class Square(noOfSides: Int) : Polygon(noOfSides) {

    var noOfSideVar = 7
    fun area(): Int {
        return noOfSides * noOfSides
    }

}

上述代码的输出:

Parameter form: 4
Variable form: 7
New Parameter form: 10
New Variable form: 50

Process finished with exit code 0

如果我有任何误解,请清除它。我知道这是一个基本问题,但作为初学者我很困惑。

标签: android-studioclasskotlinparametersmember-variables

解决方案


推荐阅读