2016-11-11 44 views
1

因此,采取这种特质蛋糕模式依赖于抽象成员

trait SomeTrait{ 
    val x:Int 
    val y:Int 
    val z=x*y 
} 

然后这个实现

class SomeImpl extends SomeTrait{ 
    val x=5 
    val y=2 
    println(z) //prints 0 why? 
} 

为什么它打印0?我该如何避免这种情况!我希望z是一个val,以防万一它是一种昂贵的计算。

回答