如何从继承的 class 中获取新的变量值?

How to get new variable value from inherited class?

open class Parent(){
  protected var z : Int? = null

  private fun getMyAge(){
    val x = 65
    val y = 10
    z = x % y 
  }
}

class Child:Parent(){
 ovveride fun getMyAge()
  println(z)  //here I get null
}

我的问题是:为什么我得到的是空值? 我是否从继承的 class 中错误地获取了变量?

是因为你重写函数的时候,并没有调用super函数。如果要调用父 class 中的函数,则必须将代码更改为:

open class Parent(){
  protected var z : Int? = null

  private fun getMyAge(){
    val x = 65
    val y = 10
    z = x % y 
  }
}

class Child:Parent(){
 ovveride fun getMyAge()
  super.getMyAge()
  println(z)
}