您的位置:首页 > 其它

Scala:Any

2015-12-01 17:36 337 查看
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类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  scala