10.Scala单例对象、伴生对象实战详解
来源:互联网 发布:蜀地割据知乎 编辑:程序博客网 时间:2024/06/05 10:29
一、Scala单例对象详解
在Scala中,没有像Java中的静态类、静态成员、静态方法,但提供了Object对象,类似Java中的静态类,它里面的所以成员(变量、方法)都是静态的
object University{ println("hello") private var studentNo = 0 def newStudentNo = { studentNo += 1 studentNo }}object ObjectOps{ def main(args: Array[String]): Unit = { println(University.newStudentNo) println(University.newStudentNo) }}
输出:
hello
1
2
Java中,类里的静态模块当类被加载进来就会被执行
scala中,object里除了方法的代码,只有在第一次使用时才会被执行
object可作为静态方法、静态成员、公共变量的集合区 eg:一些配置属性初始化可放在object里
二、scala伴生对象代码实战
当类和对象有相同的名字时,我们称为其为对方的伴生类、伴生对象。
它们必须定义在同一个源文件中。
class University{ var id = University.newStudentNo //伴生类可以访问伴生对象的所有成员,包括其私有的成员.反过来亦如此。即伴生类和对象可相互访问其私有成员 //但object University并不是在class University的作用域内,所以newStudentNo前需要用University. private var number = 0 def aClass(number : Int){ this.number += number}}object University{ private var studentNo = 0 private def newStudentNo = { studentNo += 1 studentNo }}
当类class和对象object的名字相同时
如上,class University是object University的伴生类
object University是class University的伴生对象
伴生类可以访问伴生对象的所有成员,包括其私有的成员
val array = Array(1,2,3,4)
apply属于object Array
新构建一个类时,如果不写new 某个类,就是用伴生对象的apply()来构建的
参考资料来源于 DT大数据梦工厂 Scala零基础实战经典第10课 由王家林老师讲解
阅读全文
0 0
- 10.Scala单例对象、伴生对象实战详解
- 010-Scala单例对象、伴生对象实战详解
- Scala单例对象、伴生对象实战详解
- Scala单例对象、伴生对象实战详解
- Scala 深入浅出实战经典 第10讲:Scala单例对象、伴生对象实战详解
- Scala学习第十天 Scala单例对象、伴生对象实战详解
- 【Scala】单例对象与伴生对象
- 0010.Scala单例对象、伴生对象
- scala 单例对象 伴生对象
- Scala : 单例对象、伴生类、伴生对象
- Scala单例与伴生对象
- Dt大数据梦工厂王家林老师 Scala实战详解之第10讲 Scala单例对象、伴生对象实战详解
- 17.Scala中包、类、对象、成员、伴生类、伴生对象访问权限实战彻底详解
- 学习笔记10:Scala单例对象、伴生对象
- Scala中的伴生对象apply方法和单例对象
- scala基础12-单例对象/伴生对象
- Scala单例对象、伴生类以及伴生对象、apply介绍
- Scala的伴生类、伴生对象与单例对象和apply的介绍
- 基础属性文本修饰
- jdk安装(1)
- java 对象存活分析——引用计数法&可达性分析
- 用C语言计算一条语句中的空格、字母、数字的个数。
- Java中的原子操作
- 10.Scala单例对象、伴生对象实战详解
- java 问题分析工具
- python 函数
- HTML基础--(四)
- #终端种类及修改终端命令提示符
- 【Mongo】架构从复制集到分片集群
- VLAN/Trunk以及三层交换
- Isomorphic Strings
- MySQL体系结构