伴生对象
Scala的类,通常都有一个伴生对象,在Scala的帮助文档里,“O”的标记,就代表伴生对象,查的时候要注意。伴生对象有很多增强型功能的方法,Scala的威力,很大部分来自于它,其方法类似于Java的静态方法,Scala没有静态方法。
scala> BigInt.probablePrime(3, util.Random)
res2: scala.math.BigInt = 5
scala> BigInt.probablePrime(3, util.Random)
res3: scala.math.BigInt = 7
scala> BigInt.probablePrime(3, util.Random)
res4: scala.math.BigInt = 7
probablePrime就是BigInt类的伴生对象的一个方法,随机返回3位(bit)素数,也就是:不是5就是7。
没有参数,且不改变对象本身的方法,通常不加括号
scala> "WOOOoooW".distinct
res5: String = WOo
如:distinct方法
apply方法
很多伴生对象都有apply方法,apply方法用途很广,举例如下:
scala> "Hello"(1)
res6: Char = e
scala> "Hello".apply(1)
res7: Char = e
scala> "Hello".charAt(1)
res8: Char = e
"Hello"(1)是"Hello".apply(1)的简写,最后一种写法是Java的标准写法。
其它
除了方法,Scala也是提供函数的,比如sqrt:
scala> math.sqrt(2)
res10: Double = 1.4142135623730951
阅读(1926) | 评论(0) | 转发(0) |