java 实参 形参讲解
参数
形参实参
形参:
- 形式参数,用于定义方法的时候使用的参数,只能是变量
- 形参只有在方法被调用的时候,虚拟机才分配内存单元,方法调用结束之后便会释放所分配的内存单元
实参:调用方法时传递的数据可以是常量,也可以是变量
可变参数
可变参数用在形参中可以接收多个数据,在方法内部本质上就是一个数组
格式:数据类型... 参数名称
作用:传输参数非常灵活,可以不传输参数、传输一个参数、或者传输一个数组
可变参数的注意事项:
- 一个形参列表中可变参数只能有一个
- 可变参数必须放在形参列表的最后面
public static void main(String[] args) {
sum(); // 可以不传输参数。
sum(10); // 可以传输一个参数。
sum(10,20,30); // 可以传输多个参数。
sum(new int[]{10,30,50,70,90}); // 可以传输一个数组。
}
public static void sum(int... nums){
int sum = 0;
for(int i : a) {
sum += i;
}
return sum;
}
方法
方法概述
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
注意:方法必须先创建才可以使用,该过程成为方法定义,方法创建后并不是直接可以运行的,需要手动使用后才执行,该过程成为方法调用
在方法内部定义的叫局部变量,局部变量不能加 static,包括 protected、private、public 这些也不能加
原因:局部变量是保存在栈中的,而静态变量保存于方法区(JDK8 在堆中),局部变量出了方法就被栈回收了,而静态变量不会,所以在局部变量前不能加 static 关键字,静态变量是定义在类中,又叫类变量
定义调用
定义格式:
public static 返回值类型 方法名(参数) {
//方法体;
return 数据 ;
}
调用格式:
数据类型 变量名 = 方法名 (参数) ;
- 方法名:调用方法时候使用的标识
- 参数:由数据类型和变量名组成,多个参数之间用逗号隔开
- 方法体:完成功能的代码块
- return:如果方法操作完毕,有数据返回,用于把数据返回给调用者
如果方法操作完毕
- void 类型的方法,直接调用即可,而且方法体中一般不写 return
- 非 void 类型的方法,推荐用变量接收调用
原理:每个方法在被调用执行的时候,都会进入栈内存,并且拥有自己独立的内存空间,方法内部代码调用完毕之后,会从栈内存中弹栈消失
注意事项
转载自:https://juejin.cn/post/7173654087404109832