这更多是我偶然发现的概念性问题.Scala声明不支持多重继承但是同时状态比"Nothing"是所有类型的子类.这不符合Scala所说的概念.
Scala状态比不支持多重继承
事实并非如此.Scala支持线性化的多重mixin继承.
但同时状态比"Nothing"是所有类型的子类.
事实并非如此.文件明确指出Nothing extends Any,就是这样.它只是一个子类Any,没有别的.
文件还说明(大胆强调我的):
Nothing是每种其他类型的子类型(包括scala.Null)
正如您所看到的,文档中没有任何地方说这Nothing是所有类型的子类.它只是说,这是一个子类的所有类型,这是完全不同的.
这不符合Scala所说的概念.
不它不是.
但是,即使如果你说的话是真的,但仍然没有矛盾:Scala语言规范定义了什么是"斯卡拉"是,如果SLS说Nothing是所有类的子类,那么这是怎么回事.Scala语言规范说出了它想要的任何东西,这绝不会违反Scala的概念,因为Scala语言规范定义了Scala的概念.
现在,事实证明,你的前提是错误的,并且Scala语言规范并没有说它Nothing有多个超类,但它可以说如果它需要,那就不会违反Scala的概念,因为Scala语言规范确切地说,Scala的概念是什么.