实参: 是指在方法内部定义的变量。
形参: 是指在 定义方法时,“()” 中所声明的参数。
package com.app.param;
public class Test3 {
public static void main(String[] args) {
int a = 10;
change(a); // 将 变量a中存储的值: 10 ——> 传递给 change()方法的形参: n 中
}
public static void change(int n) {
System.out.println(n);
}
}
输出结果:
10
package com.app.param;
public class Test3 {
public static void main(String[] args) {
// 目标:通过面试题,更深的理解基本类型的参数传递机制: 值传递
int a = 10;
change(a);
System.out.println(a); // 10
}
public static void change(int a) {
System.out.println(a); // 10
a = 20;
System.out.println(a); // 20
}
}
输出结果:
10
20
10
图1说明:
图2说明:
图3说明:
图4说明:
最后,main()方法调用完毕后,退出栈
最终控制台输出结果:
10
20
10
1、形参和实参各指什么?
2、Java的参数传递机制是什么样的?
package com.app.param;
public class ParamDemo2 {
public static void main(String[] args) {
// 目标:通过面试题,更深入的理解引用类型的参数传递机制:值传递,区分其不同点
int[] arrs = new int[]{10, 20, 30};
// int[] arrs = {10, 20, 30};
change(arrs);
System.out.println(arrs[1]); // 222
}
public static void change(int[] arrs) {
System.out.println("第2个元素: " + arrs[1]); // 20
arrs[1] = 222;
System.out.println("第2个元素: " + arrs[1]); // 222
}
}
输出结果:
第2个元素: 20
第2个元素: 222
222
图1说明:
图2说明:
图3说明:
图4说明:
图5说明:
最后,main()方法调用完毕后,退出栈;
最终输出结果:
第2个元素: 20
第2个元素: 222
222
1、基本类型和引用类型的参数在传递的时候有什么不同?