先下结论:是值传递,只不过对象传递的是引用(即指向实际对象的地址)


首先搞清第一个问题:什么是值传递?什么是引用传递?

值传递:顾名思义,就是变量传递到函数是值,与原来的变量无关。例如:

public class Main{
    public static void main(String[] args) {
        int var = 5;
        test(var);
        /*
        相当于:test(int var = var)函数内是对第一个var做修改,与第二个var无关,
        它们只是命名相同而已。
        */
        System.out.println(var);
    }
    void test(int var){
        var = 6;
    }
}