一、方法
object DefTest {
def main(args: Array[String]): Unit = {
// 1、方法(def 方法名(参数名:参数类型*):返回值类型(Unit为无返回值)) = {方法体}
def add(a: Int, b: Int): Int = {
a + b
}
println(add(1, 2))
println("=====================================")
// 2、默认参数
def addDefaultParams(a: Int = 10, b: Int = 1): Int = {
a + b
}
println(addDefaultParams(b = 10))
println("=====================================")
// 3、可变参数(如果有多类参数,需要将可变参数放到最后一位)
def addChangeParams(str: String, num: Int*): Unit = {
println(str + ":" + num)
}
addChangeParams("hello", 1, 2, 3, 4)
println("=====================================")
}
}
二、函数
什么是函数
1、函数是一个对象(变量)
2、类似于方法,函数也有输入参数和返回值
3、函数定义不需要使用def定义
4、无需指定返回值类型
函数和方法的区别
1、方法是隶属于类或者对象的,在运行时,它是加载到JVM的方法区中. 但是函数本身就是一个对象
2、可以将函数对象赋值给一个变量,在运行时,它是加载到JVM的堆内存中
3、函数是一个对象,继承自FunctionN,函数对象有apply,curried,toString,tupled这些方法。方法则没有
将方法转换为函数
val a = add _