6.方法(Methods)
方法感觉上和函数非常相似,但是它们其实
有很大的区别。方法是用def关键字定义
的。def后跟名称、参数列表、返回类型以
及主体:
def add(x: Int, y: Int): Int =x+y
println(add(1,2))//3
大家要注意返回类型Int =是在参数列表和:
冒号后声明的。
一个方法可以采用多个参数列表:
def addThenMultiply(x: Int, y: Int)
(multiplier: Int):Int=(x+y)*
multiplier
printin(addThenMultiply(1, 2)(3)) // 9
//这个方法实现了两个参数相加后,
再与第三个参数相乘。
也可以根本没有参数列表:
def name: String =
System.getProperty("user.name")
println("Hello, "+ name +"!")
此外,方法当然也可以具有多行表达式9:
def getSquareString(input: Double):
String=(
val square = input * input
square.toString
printin(getSquareString(2.5))// 6.25
这段代码主体中的最后一个表达式是方法的
返回值。(Scala其实有一个return关键
字,但很少使用。)
7.类(Class)
可以使用class关键字,在它后面添加类名
和构造函数的参数:
class Greeter(prefix: String, suffix:
String){
def greet(name: String):Unit =
printin(prefix + name + suffix)
greet方法的返回类型为Unit,表示没有有
意义的返回值。它的用法类似于Java和C中
的void°。
定义类之后,可以使用new创建类的实例:
val greeter = new Greeter("Hello, "
"!”)
greeter.greet("Scala开发者") //
Hello, Scala开发者!