Scala的apply方法
来源:互联网 发布:安装windows xp系统 编辑:程序博客网 时间:2024/06/05 15:05
Scala比Java更面向对象的一个方面是Scala没有静态成员。替代品是,Scala有单例对象:singleton object。
当单例对象与某个类共享同一个名称时,他被称作是这个类的伴生对象:companion object。你必须在同一个源文件里定义类和它的伴生对象。类被称为是这个单例对象的伴生类:companion class。类和它的伴生对象可以互相访问其私有成员。
定义单例对象不是定义类型(在Scala的抽象层次上说) 。
类和单例对象之间的一个差别是,单例对象不带参数,而类可以。因为你不能用new关键字实例化一个单例对象,你也没机会传递给它参数。
每个单例对象都被作为由一个静态变量指向的虚构类:synthetic class的一个实例来实现,因此它们与Java静态类有着相同的初始化语法。
Scala程序特别要指出的是,单例对象会在第一次被访问的时候初始化。
Scala 的apply 有2 种形式,一种是 伴生对象的apply ,一种是 伴生类中的apply。
eg.
class ApplyTest{
def apply() = println("I am into spark so much!!!")
def haveATry: Unit ={
println("have a try on apply")
}
}
object ApplyTest{
def apply() = {
println("I am into Scala so much")
new ApplyTest
}
}
object ApplyOperation{
def main (args: Array[String]) {
val array= Array(1,2,3,4)
val a = ApplyTest() //这里就是使用object 的使用
a.haveATry
a() // 这里就是 class 中 apply使用
}
}
运行结果
I am into Scala so much
have a try on apply
I am into Spark so much!!! object
apply 是一种比较普遍用法。主要用来解决复杂对象的初始化问题。
0 0
- scala的 apply方法
- Scala的apply方法
- scala的 apply方法和update方法
- Scala 中apply方法的用法~(转)
- scala 中apply方法的理解
- scala 的apply,update,unapply方法
- scala apply方法 笔记
- Scala apply方法
- scala中的apply()方法
- scala apply方法 笔记
- scala apply方法 笔记
- Scala中的apply方法
- scala神奇的apply
- scala的apply
- Scala学习笔记-apply方法
- scala apply()方法简单用法
- Scala语言 中的 apply 和 update 方法的使用
- 一步步学spark之一scala的apply方法2.3
- 泉水 bfs
- win7安装php7,apache,mysql
- 1052. 卖个萌
- atexit()函数
- WEB-INF访问权限
- Scala的apply方法
- JVM源码分析之SystemGC完全解读
- 统计个位数字
- javaweb tomcat500异常
- javax.el.PropertyNotFoundException: Property 'pname' not found on type java.lang.String
- ERROR
- 论文写作绘图软件
- 写字符转换成字节+读字节转换成字符
- HDU 1503 Advanced Fruits【LCS】