【发布时间】:2018-04-01 05:12:39
【问题描述】:
我在 Scala 中有一个 A 类,比如这个:
class A {
val a = 3
lazy val b = 2
println("a = " + a)
println("b = " + b)
}
接下来,我将这个类扩展到另一个类B:
class B extends A {
override val a = 4
override lazy val b = 3
}
现在,当我创建class B 的对象时,我得到以下输出:
a = 0 //the default value of int is zero `0` in Scala
b = 3
而我期望输出是:
a = 3
b = 2
我的问题是class A 中的println() 函数如何知道class B 中定义的值,但只知道b 而不是a?
【问题讨论】:
标签: scala