您的位置:首页 > 其它

scala不使用new关键字创建对象实例

2017-07-17 22:23 483 查看
在scala中,scala不使用new关键字创建对象实例,一般有2中方法:

1. 为类创建伴生对象,并在伴生对象内按照所需的构造函数签名定义一个apply方法;

2.将类定义为case类。

1)用apply方法创建一个伴生对象:

class ApplyOperation {
}
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 是一种比较普遍用法。 主要用来解决复杂对象的初始化问题。同时也是单例

2)将类声明为case类
case class Person(var :String)

case的作用在于它在伴生对象生成了一个apply对象,更重要的是,case类生成的代码远不止apply方法。apply实际上是一个工厂方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐