继承关系图
每个类都继承自Any
类,它有两个子类AnyVal
和AnyRef
,AnyVal
是所有值类的父类,AnyRef
是所有引用类的父类。
底类型(botton types)
在上图中类继承关系的底部,有两个特殊的类Null
和Nothing
,它们用于处理一些特殊情况。
Null
类是null
引用的类型。
Nothing
类主要用途是给出非正常终止的信号,例如Scala中内置的error
方法:
1 | def error(message: String): Nothing = throw new RuntimeException(message) |
由于Nothing
是所有其他类型的子类型,那么该方法可以用来:
1 | def divide(x: Int, y: Int): Int = |