- 表示程序中可重复使用的一段代码集合可完成独立的功能
方法定义的格式
- 当方法无返回值时,必须给出返回类型
- 参数列表 / 参数清单,包含参数的个数、参数类型、 参数顺序
- 方法签名:方法名 + 方法参数列表,判断是否是同一个方法的标准
- 考虑当调用者传入数据的范围不合理时,该如何处理(进行参数校验)
方法定义的位置
方法的调用
- main 方法由 JVM 来调用
- 使用
static
修饰的方法:属于这个类本身,方法所在类名.方法名([实参 1, 实参 2, …]) - 无
static
修饰的方法:属于该类的对象,不属于这个类本身,使用方法所在类的对象来调用,对象.方法名([实参 1, 实参 2, …]) - 针对于有返回的方法,调用者可以用对应类型的变量去接收返回值,也可以不去接收
方法重载 Overload
规则
方法参数的值传递机制
- 参数是基本数据类型:直接传递实参值的副本
- 参数是引用数据类型,传递的是实参所引用的十六进制地址值的副本
形参个数可变的方法
// 操作 arr 数组
// 调用 getSum
int sum = getSum();
- 定义方法时,在最后一个形参的类型后增加三点(…),表明该形参可以接受多个参数值
- 作用:调用者不用创建数组;调用时对应的实参可以没有(动态初始化一个数组长度为 0 的数组进行传递)
- 本质就是一个数组参数:底层,在调用该方法的时候,用对应的实参作为元素创建一个数组,再将该数组传递给形参
- 注意:一个方法最多只有一个可变参数,必须放在参数列表最后
递归方法
- 一个方法的方法体实现中再次调用了方法本身
- 递归一定要向已知方向递归