hel*_*nic 0 annotations scala traits
我有一个var的特征
trait Foo {
@Id var _id: String
}
Run Code Online (Sandbox Code Playgroud)
现在我想初始化var
class Bar(s: String) extends Foo {
_id = s
}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
error: class Bar needs to be abstract, since variable _id in class Foo of type String
is not defined (Note that variables need to be initialized to be defined) class Bar(s: String) extends Foo {
Run Code Online (Sandbox Code Playgroud)
关键是当使用特征时,注释是继承的,我想使用它.我想有一些带有一些注释的特性用于映射,并让它们在子类中可用.
有人可以提供想法,提示,解决方案吗?
编辑:
我忘了写下extends Foo评论中提到的示例中的内容.所以这个例子是不完整的.
编辑:
当我var在Trait中定义时,@Id var _id: String = _我可以Bar简单地写入_id = s并且正确地继承了注释.但现在不必强迫必须设置该字段.
_id是var你性格中的摘要Foo.var在课堂上放在它面前Bar:
class Bar(s: String) extends Foo {
var _id = s
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |