在Scala中,没有静态成员、静态方法这一说,但是object可以做到类似效果:
结果:1、2
如果,同时存在一个class University,那么这个类叫做伴生类,相应地,这个对象叫做伴生对象。
这个机制很有用,伴生对象可以做一些静态化的初始化工作,如在spark中,可以经常看到这样的用法。
如果是伴生对象,这个类可以访问这个对象的任何成员(即使是private)
点击(此处)折叠或打开
- object University{
- private var studentNo = 0
- def newStudenNo = {
- studentNo += 1
- studentNo
- }
- }
点击(此处)折叠或打开
- object ObjecOps {
- def main(args: Array[String]): Unit = {
- println(University.newStudenNo) //第一次调用时,初始化成员变量
- println(University.newStudenNo)
- }
- }
点击(此处)折叠或打开
- class University{
- val id = University.newStudenNo //可以访问伴生对象的任何成员,即使是private
- private var number =0
- def aClass(number:Int){this.number += number}
- }
如果,同时存在一个class University,那么这个类叫做伴生类,相应地,这个对象叫做伴生对象。
这个机制很有用,伴生对象可以做一些静态化的初始化工作,如在spark中,可以经常看到这样的用法。
如果是伴生对象,这个类可以访问这个对象的任何成员(即使是private)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28912557/viewspace-1839506/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28912557/viewspace-1839506/