Scala类型系统的深度解析
1 统一类型系统
Scala拥有一个统一的类型系统,该系统由位于层次结构顶部的类型 Any 和位于层次结构底部的类型 Nothing 所界定。所有 Scala 类型都继承自 Any 。 Any 的子类型包括 AnyVal (值类型,例如 Int 和 Boolean )和 AnyRef (引用类型,类似于 Java 中的对象)。Java 的基本类型被包含在 AnyVal 下,与 Java 不同的是,你可以定义自己的 AnyVal 。同样与 Java 不同的是,Scala 没有像 Integer 这样的包装类型来与基本类型(如 int )区分开来。
下图展示了统一的对象模型:
graph TD;
Any --> AnyRef;
Any --> AnyVal;
AnyRef --> String;
AnyRef --> Object;
AnyVal --> Int;
AnyVal --> Boolean;
AnyVal --> Double;
由于这种层次结构,定义接受 Any
订阅专栏 解锁全文
58

被折叠的 条评论
为什么被折叠?



