1、介绍
Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。
Scala 中的方法跟 Java 的类似,方法是组成类的一部分。
Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。
Scala 中使用 val 语句可以定义函数,def 语句定义方法。
2、实例代码
object Test1 { //定义一个方法 //方法method_test参数要求是一个函数,函数的参数必须是两个Int类型 //返回值类型也是Int类型 def method_test(f:(Int,Int) => Int) : Int = { f(2,6) } //定义一个函数f1,参数是两个Int类型,返回值是一个Int类型 val f1 = (x:Int,y:Int) => x + y //再定义一个函数f2 val f2 = (m:Int,n:Int) => m * n def main(args: Array[String]): Unit = { //调用m1方法,并传入f1函数 val r1 = method_test(f1) println(r1) //输出:8 //调用m1方法,并传入f2函数 val r2 = method_test(f2) println(r2) //输出:12 } }