sInstanceOf, isInstanceOf ,判断相等,hash值等方法
AnyRef 是除基础类型外所有类的父类,等价于 java.lang.Object
- 提供方法
wait , notify/notifyAll ,synchronized
AnyVal 不包含任何方法,只是个值类型的标记
所有 Scala 类都实现了 ScalaObject 这个标记接口,该接口无任何方法
Null 的唯一实例 null ,可分配给引用类型,但不可分配给值类型(Int 不可为 null )
Nothing 无实例,在泛型构造时有用,Nil 类型为 List[Nothing]
??? 方法声明返回类型为 Nothing , 无返回值,会抛出 NotImplementedError ,用于预留未实现的方法
Unit 代表空/void ,类型唯一值为 ()
如果方法参数类型为 Any 或 AnyRef , 当传递多个参数时,会被替换为 tuple
equals 和 hashCode 判断对象相等
- 可使用模式匹配实现
equals
equals 参数类型为 Any 而不是具体的类型
## 是 hashCode 的安全版本,遇到 null 会返回 0 而不是抛出异常
值类 Value Class
- 继承
AnyVal
- 主构造器只有一个参数 val,无构造体
- 无其他构造器和字段
- 自动提供的
equals 和 hashCode 比较实际值
- 用于隐式转换
- 其他用途,如
class a(x: Int, y: Int) 设计为 class a(x: X, y: Y) ,定义值类 X , Y 避免混淆参数
|