36、Scala 类型系统深度解析

Scala 类型系统深度解析

1. 复合类型(Compound Types)

当声明一个结合了多种类型的实例时,就会得到复合类型。例如:

trait T1
trait T2
class C
val c = new C with T1 with T2  // c's type: C with T1 with T2

在这个例子中, c 的类型是 C with T1 with T2 。这是声明一个扩展 C 并混入 T1 T2 的类型的另一种方式。需要注意的是, c 被视为这三种类型的子类型:

val t1: T1 = c
val t2: T2 = c
val c2: C  = c
2. 类型细化(Type Refinements)

类型细化是复合类型的一个附加部分。它与 Java 中的匿名内部类概念相关,在 Java 中,通常会提供一个实现某些接口的匿名内部类,添加方法实现和可选的额外成员。

例如,若有一个 java.util.List 存储类型为 C 的对象,可以使用静态方法 java.util.Collections.sort 对列表进行原地排序:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值