Scala 调用apply() 初始化对象
package scala_learn.demo08_Apply
/**
* Created by liguohua on 2017/3/1.
*/
class O3_ApplyDemo {
}
object O3_ApplyDemo {
def main(args: Array[String]) {
//创建对象的方式一
val pig1 = new Pig
println(pig1)
pig1() //instance apply()
//创建对象的方式二(需要在对象中定义apply()方法)
val pig2 = Pig.apply()//object apply()
pig2() //instance apply()
//创建对象的方式三(需要在对象中定义apply()方法)(推荐)
val pig3 = Pig()//object apply()
pig3() //instance apply()
//获得对象的方式四
val pig4 = Pig//val pig4=object
pig4() //object apply()
}
}
class Pig {
def apply() = {
println("instance apply()")
}
}
object Pig {
//object中apply()方法一般去创建一个对象
def apply() ={
println("object apply()")
new Pig
}
}

本文介绍了Scala语言中使用apply方法的不同方式来初始化对象的过程。主要包括通过实例方法和对象方法调用apply实现对象创建的方法,以及这种方式相较于传统构造器的优势。
3万+

被折叠的 条评论
为什么被折叠?



