lazy-override.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 30 行

SCALA
30
字号
class A {  val x: Int = { print("/*A.x*/"); 2 }  lazy val y: Int = { print("/*A.y*/"); 2 }  lazy val z: Int = { print("/*A.z*/"); 2 }}class B extends A {  // lazy overrides strict val  override lazy val x: Int = { print("/*B.x*/"); 3 }  // strict val overrides lazy  override val y: Int = { print("/*B.y*/"); 3 }  // lazy overrides lazy  override lazy val z: Int = { print("/*B.z/"); 3 }}object Test extends Application { val a = new A print("a.x=") println(a.x) val b = new B print("b.x=") println(b.x)  print("b.z=") println(b.z) }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?