object Test3 {
def sum(x:Int=200,y:Int=100):Int={
x+y
}
//没有参数就直接使用默认值
def main(args: Array[String]): Unit = {
val rs1=sum()
println(rs1)
val rs2=sum(2)
println(rs2)
val rs3=sum(1,1)
println(rs3)
val rs4=sum(y=2)//指定形参名称
println(rs4)//202
}
}
2,创建不带()的方法
object Test3 {
def sum(x:Int=200,y:Int=100):Int={
x+y
}
def say():Unit={
println("您好~~")
}
//函数不需要参数可以直接省略掉()
//没有参数就直接使用默认值
//def say():Unit={
def main(args: Array[String]): Unit = {
say
say
say
println("--------------------------")
val rs1=sum()
println(rs1)
val rs2=sum(2)
println(rs2)
val rs3=sum(1,1)
println(rs3)
val rs4=sum(y=2)//指定形参名称
println(rs4)//202
}
}
3,创建接受变参的方法
object Test3 {
//如何定义一个函数能接受数量不定的参数并计算他们的累加?
//getSum(1,2)==>3
// getSum(1,2,3,4)==>10
// getSum(1,2,3,4,-5)==>5
def getsum(x: Int *): Int = {
var sum=0
for (i<-x){
println(i)
sum=sum+i
}
sum
}
def main(args: Array[String]): Unit = {
var rs=getsum(1,2,3)
println(rs)
}
4,链式风格
class Stu13{
//this.type就是这个方法的返回值类型
def say():this.type ={
println("say......")
this //当前对象
}
def run():Stu13={
println("rum......")
this
}
def sleep():this.type ={
println("sleep......")
this
}
}
object Test13_1 {
def main(args: Array[String]): Unit = {
val s1 = new Stu13()
s1.say().run().sleep().say()
//s1.run()
//s1.sleep()
//链式风格:在方法中返回当前对象!
//方法1().方法2().方法3()
}
}
设置函数的默认函数:def 函数名(参数1:类型1=‘默认值’,)
函数变参:*
实现链式风格:this