我无法弄清楚这段代码是如何工作的?
class Node[TypeOne <: Node[TypeOne]] {
var x: TypeOne = _
}
object Tree extends App {
val treeNode = new Node[String]
treeNode.x = "ten"
//treeNode.x = new TreeNode[String]
}
最初,我由签名类Node [TypeOne
最佳答案
此模式通常用于希望静态了解其具体子类型的基类或特征。库设计人员很可能希望您扩展Node
:
class MyNode extends Node[MyNode]
然后直接使用
MyNode
而不是Node
。关于scala - Node [TypeOne <: Node[TypeOne]] in scala mean?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39344756/