方法的参数传递机制
- 形参是基本数据类型(byte、short、char、int、long、float、double、boolean)
*传递数据值
2、实参是引用数据类型
*传递地址值
*特殊的类型:String、包装类等对象不可变性
下面给到一个程序,看下会输出什么内容,帮助理解上面的意思
package com.java_foundation.test_2;
import java.util.Arrays;
/**
* @program: java_foundation
* @description: 方法的参数传递
* @author: xiongbangwen <Email>xiongbangwen@163.com</Email>
* @create: 2020-05-30 23:43
**/
public class ParamPassingOfMethod {
public static void main(String[] args) {
int i = 1;
String str = "hello";
Integer num = 2;
int[] arr = {1,2,3,4,5};
MyData my = new MyData();
change(i, str, num, arr, my);
System.out.println("i = " + i);
System.out.println("str = " + str);
System.out.println("num = " + num);
System.out.println("arr = " + Arrays.toString(arr));
System.out.println("my.a = " + my.a);
}
public static void change(int i, String str, Integer num, int[] arr, MyData my) {
i += 1;
str += "world";
num += 1;
arr[0] += 1;
my.a += 1;
}
}
class MyData{
int a = 10;
}
输出:
借用一张图来帮助我们理解(上课的时候截的图)