Scala学习第十天 Scala单例对象、伴生对象实战详解
来源:互联网 发布:数据库经典书籍 知乎 编辑:程序博客网 时间:2024/06/05 10:56
信息来源于 DT大数据梦工厂微信公众账号:DT_Spark
DT大数据梦工厂群号:302306504王家林老师微信号:wangjialinandroid
1、Scala单例对象
Scala单例对象是十分重要的,没有像在Java一样,有静态类、静态成员、静态方法,但是Scala提供了object对象,这个object对象类似于Java的静态类,它的成员、它的方法都默认是静态的。
//如果object的静态成员要被外界访问,则该成员不能被private修饰object University{ private var studentNo = 0 def newStudentNo = { studentNo += 1 studentNo } } object objecOps { def main (args : Array[String]) : Unit = { println(University.newStudentNo) println(University.newStudentNo) } }
与Java另一个不一样的是,如果是静态类的静态变量、静态方法,类加载就会执行,但是Scala只有在第一次使用object的静态变量,静态方法才会生效。object也有一个隐形的无参的构造器。
2、Scala伴生对象
如果有同样一个类与该object名字一样,则称该object为该类的伴生对象,相对应,该类为object的伴生类。如果一个类有它的伴生对象,这个类就可通过object的名字访问到所有成员,但object不在该类的作用范围。
class University{val id = University.newStudentNoprivate var number = 0def aClass (number : Int){this.number += number}}object University { private var studentNo = 0 def newStudentNo = { studentNo += 1 studentNo } }
object对象为静态常量、静态变量区域,可以直接调用,共享全局变量很有意义,伴生对象方便类的构建,可做为当前类的静态方法、成员的集合。
Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2
Scala视频及其更新和其他资料(Spark公开课、安卓基础、移动互联网)下载:
百度云盘:http://pan.baidu.com/share/home?uk=4013289088&view=share#category/type=0
- Scala学习第十天 Scala单例对象、伴生对象实战详解
- 010-Scala单例对象、伴生对象实战详解
- Scala单例对象、伴生对象实战详解
- Scala单例对象、伴生对象实战详解
- 10.Scala单例对象、伴生对象实战详解
- Scala 深入浅出实战经典 第10讲:Scala单例对象、伴生对象实战详解
- Scala学习第十七天 包、类、对象、成员、伴生类、伴生对象访问权限实战彻底详解
- 【Scala】单例对象与伴生对象
- 0010.Scala单例对象、伴生对象
- scala 单例对象 伴生对象
- 学习笔记10:Scala单例对象、伴生对象
- Scala : 单例对象、伴生类、伴生对象
- Scala单例与伴生对象
- Scala学习笔记--单例,伴生对象及apply用法
- Dt大数据梦工厂王家林老师 Scala实战详解之第10讲 Scala单例对象、伴生对象实战详解
- Scala中的伴生对象apply方法和单例对象
- scala基础12-单例对象/伴生对象
- 17.Scala中包、类、对象、成员、伴生类、伴生对象访问权限实战彻底详解
- windows 找可写目录
- 跨线程修改界面的技巧
- stl文件处理
- HDU2159 FATE(二维背包问题)
- zzuli OJ 1060: 逆序数字
- Scala学习第十天 Scala单例对象、伴生对象实战详解
- 升级最新JRE后JavaFX Applet运行异常RuntimeException: Internal graphics not initialized yet
- CuraEngine基础功能类介绍
- Django之第一个app<9>
- Android应用使用SyncAdapter传输数据
- Linux网络编程--IO函数以及示例
- ORA-00020: maximum number of processes (2000) exceeded
- Maven导出项目依赖的jar包
- error和exception