我使用scala 2.10:
有没有人知道什么意思:
输入Session>:Null<:SessionDef
我不懂字符>:和<:在这里
整个代码是:
trait DatabaseComponent { self =>
type Session >: Null <: SessionDef
}
答案 0 :(得分:0)
type
关键字定义了一些抽象类型。特定的DatabaseComponent
子类(具体实现)可以将此类型实现为具体类。
>:
和<:
是抽象类型Session
上的类型范围。示例中的那些意味着抽象类型成员Session
是null
- 能够并且它是某种其他类型SessionDef
的子类型。
上限SessionDef
(<:
)在这里是因为:
DatabaseComponent
的实施只能定义Session
类型,以便它们是SessionDef
DatabaseComponent
中的某些方法碰巧返回Session
类型的对象,则您不会知道其确切的实现,但您会知道您可以调用{{{}}中存在的任何方法1}}在它上面下限SessionDef
(Null
)就在这里,因为它允许您初始化>:
类型Session
的变量。