一、形象理解
方法是若干语句的功能集合,需要特定原料来生产特定产品
参数就是原料,进入方法的数据;返回值就是产品,从方法中出来的数据
定义方法三要素:返回值类型、方法名、参数列表
对于重复执行的代码,封装成方法,随用随调,减少代码冗余
二、注意事项
1、Java语言中,方法的定义没有先后顺序
2、方法只能定义在类中,不能定义在其他方法中,定义不是调用
3、方法中可以有多个return语句,但必须保证只有一个会被执行
public int getMax(int a, int b) {
if (a > b) {
return a;
}
return b;
}
三、参数 & 返回值
任何数据类型都能做方法的参数类型,或者返回值类型
传递的值不能高于参数类型,返回的值不能高于返回值类型
public class Test {
public static void main(String[] args) {
Test.methodA(12); // 12.0
System.out.println(Test.methodB()); // 12.0
}
public static void methodA(double num) { // 方法参数是double类型
System.out.println(num);
}
public static double methodB() { // 方法返回值是double类型
return 12;
}
}
方法的返回值只能是0个或1个,方法的参数可以有0个或多个
当方法需要返回多个值时,可以将方法的返回值写成数组 / 集合
public class ArrayReturn {
public static void main(String[] args) {
int[] result = calculate(10, 20, 30);
System.out.println("数组元素的总和:" + result[0]);
System.out.println("数组元素的平均值:" + result[1]);
}
public static int[] calculate(int a, int b, int c) {
int sum = a + b + c;
int avg = sum / 3;
return new int[]{sum, avg}; // 总和、平均值都想要,但是返回值只能是零个或一个
}
}
四、调用流程
五、内存模型
(1)对象类型作方法参数
(2)对象类型作方法返回值