gpt4 book ai didi

Scala:在扩展类时预初始化val

转载 作者:行者123 更新时间:2023-12-05 01:08:56 26 4
gpt4 key购买 nike

如何在 Scala 中预初始化一个 val 并扩展一个类?

例如。:

object Start {
def main(args: Array[String]): Unit = {
new T()
new T2()
//T3?
}
}

class T extends{val z = 10} with X with Y
class T2 extends X with Y {val z=10}
//class T3 extends{val z = 10} ??? Z with X with Y //????

class Z

trait X {
val z :Int
}

trait Y { this :X =>
println("Test: "+z)
}

最佳答案

用:

class T3 extends {val z = 10} with Z with X with Y

Scala 语言规范 2.9、5.1.6:
EarlyDefs ::= ‘{’ [EarlyDef {semi EarlyDef}] ‘}’ ‘with’

所以一个早期的定义 总是 后面必须跟一个 with

关于Scala:在扩展类时预初始化val,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16346929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com