Scala开篇(目录)
Any是abstract类,它是Scala类继承结构中最底层的。所有运行环境中的Scala类都是直接或间接继承自Any这个类,它就是其它语言(.Net,Java等)中的Object。
从 Scala 2.10 开始,对于一般性的traits(特性,特质)可以直接继承Any。一般性traits是指,继承自Any,并且只有defs成员,不需要初始化。
最主要的一个用途就是为一些值类型提供简单的方法继承
例子:
trait Printable extends Any {
def print(): Unit = println(this)
}
class Wrapper(val underlying: Int) extends AnyVal with Printable
val w = new Wrapper(3)
w.print()
wrapper继承自AnyVal,AnyVal是值类型,并且扩展了traits,所以它就具有了Printable 的print方法。
方法名 | 说明 |
---|---|
getClass(): Class[_] | 返回运行时类的对象 |
final def !=(arg0: Any): Boolean | 判断两个对象不同 |
final def ##(): Int | 对于除了null对象和被装箱的数值外,结果同hashCode |
final def ==(arg0: Any): Boolean | 判断两个对象是相同 |
final def asInstanceOf[T0]: T0 | 将传入的对象转为T0类型对象 |
def equals(arg0: Any): Boolean | 比较对象是否相等 |
def hashCode(): Int | 计算哈希值 |
final def isInstanceOf[T0]: Boolean | 检查动态传入的对象是否是T0类型 |