1.方法的重载
多个方法拥有同一个名字,但是拥有不同的签名。
(签名:方法的名称,参数的数目,参数的数据类型和顺序,参数修饰符)(返回值不属于签名)
形参的名称已不属于签名
(签名不同,在重载中,指的是参数类型不用,如果类型相同,变量名不相同,仍然会报错)
2.命名参数
只要显式指定变量的名字,就可以用任意顺序在方法调用中列出实参。
方法的调用没什么不同,可以在调用时,(c:2,a:4,b:3)(命名参数的调用)
如果位置参数需要和命名参数,同时调用,位置参数在前。
3.可选参数
定义方法时,可以在定义中提前赋值,如果调用方法时,没有对可选参数赋值,那么默认使用。
只有值参数可以使用可选参数。 其他不可。
4.方法的栈帧(栈的内存从顶部开始使用)
1.保存的值:返回地址,方法的值参数,其他的管理数据。
2.方法调用时,整个栈帧都会压入栈。
3.方法结束,栈帧都会在栈上弹开,栈展开。
5.递归
在方法体中,自己调用自己就是递归。