Scala:在扩展类时预初始化val
发布时间:2020-12-16 10:04:01 所属栏目:安全 来源:网络整理
导读:如何预先初始化val并在 Scala中扩展类? 例如.: object Start { def main(args: Array[String]): Unit = { new T() new T2() //T3? }}class T extends{val z = 10} with X with Yclass T2 extends X with Y {val z=10}//class T3 extends{val z = 10} ??? Z
如何预先初始化val并在
Scala中扩展类?
例如.: 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’ 所以早期的定义总是必须跟着一个 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |