有代码:
class A(name:String)
trait E extends A
new E{} //compile error
Run Code Online (Sandbox Code Playgroud)
这样的继承可能吗?试图在匿名类的体内创建val或def,没有用.
Yur*_*riy 14
几种可能的解决方案:
1)在A类构造函数中设置name的默认值:
class A(name : String = "name")
trait E extends A
new E {} // {} is obligatory. trait E is abstract and cannot be instantiated`
Run Code Online (Sandbox Code Playgroud)
2)将特质E混合到A的实例:
object inst extends A("name") with E
// or:
new A("name") with E
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2840 次 |
| 最近记录: |