直接先上效果图
package cn.scala class Scala_apply { def apply()={ print("对象中的apply函数") } def hvaeAtry: Unit ={ println("have a try on apply") } } object Scala_apply{ def apply() ={ println("半生对象apply函数") new Scala_apply() } }
//运行类 package cn.scala object Scala_apply_test{ def main(args: Array[String]): Unit = { val a=Scala_apply() a.hvaeAtry } }
运行结果
半生对象apply函数 have a try on apply
注意:半生对象apply函数有括号 。
个人理解:val a = Scala_apply() 和 val a1=Scala_apply.apply() 等同。
Scala_apply() 相当于scala 编译器帮你调用了apply函数
有点和java 的static 静态块代码类似。