C/C++教程

Scala中的apply方法

本文主要是介绍Scala中的apply方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

1.apply的场景

Scala中实例化一个类,可以不用new , 其原因 其实就是 apply 方法,具体原因 后边再讲:

 

 

在上句中Scala 生成Array对象, 会自动去调用 Array 这个伴生对象的 伴生类中的apply方法, 

 

 

2.先来看下apply方法的调用约定:

 

即 如果我们让一个类的实例化对象  或者一个单例对象,后边直接跟一个小括号并在括号中传递参数, eg:  类实例(参数) 或  单例对象(参数)   , 

 这种写法出现时,Scala会自动在该对象中 查找apply 方法,而且这个apply方法的参数和 调用时候写的 参数一致 (即:参数个数和类型一致)

 

eg:

 

class ApplyTest {
  def apply(name:String): Unit ={
    printf("called apply method , and name is %s",name)
  }
}
val test = new ApplyTest
test.apply("张三")

 

输出:

 

 

这篇关于Scala中的apply方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!