继承关系

继承关系图

每个类都继承自Any类,它有两个子类AnyValAnyRef,AnyVal是所有值类的父类,AnyRef是所有引用类的父类。

底类型(botton types)

在上图中类继承关系的底部,有两个特殊的类NullNothing,它们用于处理一些特殊情况。

Null类是null引用的类型。

Nothing类主要用途是给出非正常终止的信号,例如Scala中内置的error方法:

1
def error(message: String): Nothing = throw new RuntimeException(message)

由于Nothing是所有其他类型的子类型,那么该方法可以用来:

1
2
3
def divide(x: Int, y: Int): Int = 
if (y != 0) x / y
else sys.error("cannot divided by zero")
小鹏 wechat
公众号:数据Man
0%