方法函数

1 方法与函数关系

Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。

Scala 中的方法跟 Java 的类似,方法是组成类的一部分。

Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。

Scala 中使用 val 语句可以定义函数,def 语句定义方法。

class Test{
def m(x: Int) = x + 3
val f = (x: Int) => x + 3
}

2 函数

类型变量混合式

val f1 = (x:Int,y:Int)=>x*y

类型变量分离式

val f2:(Int,Int)=>Int = (x,y)=>x*y

3 方法

方法声明

Scala 方法声明格式如下:

def functionName ([参数列表]) : [return type]
如果你不写等于号和方法主体,那么方法会被隐式声明为抽象(abstract),包含它的类型于是也是一个抽象类型。

方法定义

方法定义由一个 def 关键字开始,紧接着是可选的参数列表,一个冒号 : 和方法的返回类型,一个等于号 = ,最后是方法的主体。

Scala 方法定义格式如下:

def functionName ([参数列表]) : [return type] = {
function body
return [expr]
}

object add{
def addInt( a:Int, b:Int ) : Int = {
var sum:Int = 0
sum = a + b

  return sum

}
}

方法调用

Scala 提供了多种不同的方法调用方式:

以下是调用方法的标准格式:

functionName( 参数列表 )
如果方法使用了实例的对象来调用,我们可以使用类似java的格式 (使用 . 号):

[instance.]functionName( 参数列表 )