• 表示程序中可重复使用的一段代码集合可完成独立的功能

方法定义的格式

  • 当方法无返回值时,必须给出返回类型
  • 参数列表 / 参数清单,包含参数的个数、参数类型、 参数顺序
  • 方法签名:方法名 + 方法参数列表,判断是否是同一个方法的标准
  • 考虑当调用者传入数据的范围不合理时,该如何处理(进行参数校验)

方法定义的位置

  • 在类中,其它方法之外
  • 方法之间声明顺序无规定

方法的调用

  • main 方法由 JVM 来调用
  • 使用 static修饰的方法:属于这个类本身,方法所在类名.方法名([实参 1, 实参 2, …])
  • static修饰的方法:属于该类的对象,不属于这个类本身,使用方法所在类的对象来调用,对象.方法名([实参 1, 实参 2, …])
  • 针对于有返回的方法,调用者可以用对应类型的变量去接收返回值,也可以不去接收

方法重载 Overload

规则

  • 两同:同类中,方法名相同
  • 一不同:方法参数列表不同

方法参数的值传递机制

  • 参数是基本数据类型:直接传递实参值的副本
  • 参数是引用数据类型,传递的是实参所引用的十六进制地址值的副本

形参个数可变的方法

  1. // 操作 arr 数组
  2. // 调用 getSum
  3. int sum = getSum();
  • 定义方法时,在最后一个形参的类型后增加三点(…),表明该形参可以接受多个参数值
  • 作用:调用者不用创建数组;调用时对应的实参可以没有(动态初始化一个数组长度为 0 的数组进行传递)
  • 本质就是一个数组参数:底层,在调用该方法的时候,用对应的实参作为元素创建一个数组,再将该数组传递给形参
  • 注意:一个方法最多只有一个可变参数,必须放在参数列表最后

递归方法

  • 一个方法的方法体实现中再次调用了方法本身
  • 递归一定要向已知方向递归