更新時(shí)間:2022年09月16日17時(shí)37分 來源:傳智教育 瀏覽次數(shù):
Scala和Java一樣也有方法和函數(shù)。Scala的方法是類的一部分,而函數(shù)是一個(gè)對(duì)象可以賦值給一個(gè)變量。換句話來說,在類中定義的函數(shù)即是方法。Scala中可以使用df語句和val語句定義函數(shù),而定義方法只能使用def語句。下面來講解Scala的方法。
Scala方法的定義格式如下:
從上面的代碼可以看出,Scala的方法是由多個(gè)部分組成的,具體如下。
def functionName([參數(shù)列表]):[return type]={ function body return [expr] }
·def:Scala的關(guān)鍵字,并且是固定不變的,一個(gè)方法的定義是由def關(guān)鍵字開始的。
·functionName:Scala方法的方法名。
·([參數(shù)列表]):[return type]:Scala方法的可選參數(shù)列表,參數(shù)列表中的每個(gè)參數(shù)都有一個(gè)名字,參數(shù)名后跟著冒號(hào)和參數(shù)類型。
·function body:方法的主體。
·return [expr]:Scala方法的返回類型,可以是任意合法的Scala數(shù)據(jù)類型。若沒有返回值,則返回類型為Unit。
下面,定義一個(gè)方法add(),實(shí)現(xiàn)兩個(gè)數(shù)相加求和,示例代碼如下:
def add(a:Int,b:Int):Int={ var sum:Int =0 sun =a +b return sum }
Scala的方法調(diào)用的格式如下:
//沒有使用實(shí)例的對(duì)象調(diào)用格式 functionName(參數(shù)列表) //方法由實(shí)例的對(duì)象來調(diào)用,可以使用類似java的格式(使用”.”號(hào)) [instance.]functionName(參數(shù)列表]
下面,在類Test中,定義一個(gè)方法addInt(),實(shí)現(xiàn)兩個(gè)整數(shù)相加求和。在這里,通過“類名.方法名(參數(shù)列表)”來進(jìn)行調(diào)用,示例代碼如下:
scala>:paste #多行輸人模式的命令 // Entering paste mode (ctrl-D to finish) object Test{ def addInt(a:Int,b:Int):Int={ var sum:Int=0 sum=a+b return sum } } // Exiting paste mode, now interpreting. defined object Test scala>Test.addInt(4,5) res0: Int =9
北京校區(qū)