【java|java 中顺序 形参和实参,Java中参数传递机制-形参和实参说明】参数:形参和实参
1.形参:用来接收调用该方法时传递的参数。只有在被调用的时候才分配内存空间,一旦调用结束,就释放内存空间。因此仅仅在方法内有效。
2.实参:传递给被调用方法的值,预先创建并赋予确定值。
传参:传值和传引用
1.传值调用:形参在栈区,属于局部变量,值改变作用到了形参,而不会到实参。
2.传引用调用:传引用调用中,如果传递的参数是引用数据类型,参数视为实参。在调用的过程中,将实参的地址传递给了形参,形参上的改变都发生在实参的内容上。
【总结】Java中传递值得机制:
java的基本数据类型是传值调用,对象引用类型是传引用。
当传值调用时,改变的是形参的值,并没有改变实参的值,实参的值可以传递给形参,但是,这个传递是单向的,形参不能传递回实参。
当引用调用时,如果参数是对象,无论对对象做了何种操作,都不会改变实参对象的引用,但是如果改变了对象的内容,就会改变实参对象的内容。
public class TestParams {
public static void main(String[] args) {
int[] arr = new int[]{11, 22, 33, 44, 55};
// 传入arr数组变量
print(arr);
System.out.println("src: " + arr.length);
System.out.println("************************");
m(arr);
print(arr);
System.out.println("m(arr): " + arr.length);
System.out.println("************************");
arr = m(arr);
print(arr);
System.out.println("arr = m(arr): " + arr.length);
}
// 数组的参数传递
public static int[] m(int[] arr) {
arr[0] = 666;
arr = java.util.Arrays.copyOf(arr, arr.length*2);
return arr;
}
/**
打印输出整数类型数组元素
@arr int类型数组
*/
public static void print(int[] arr) {
for (int i = 0;
i < arr.length;
i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
输出结果
推荐阅读
- Java|Java方法的形参和实参
- Mybatis|Mybatis动态SQL
- #|必踩的坑之Java方法中形参、实参传递
- python|嵌入式软件工程师升职_我刚升职的软件工程师在第一年学到的5课
- 算法|软件工程师 算法工程师_采访100多位软件工程师后的建议
- java|实施工程师1分钟即时演讲_我是如何在1年内从时装模特转变为软件工程师的
- java|Java五年,已财富自由,美人在手!
- Java|Tomcat 配置SSL证书 实现HTTPS访问 - 伪证书
- 大数据|极客日报(小米回应造车传闻;饿了么就春节“套路”骑手活动致歉;苹果研发 iPhone12 无线充电电池组...)