java中的值传递和引用传递

值传递:

方法调用时,实际参数把对应的值传递给对应的形式参数,方法执行中形式参数的值的改变不会影响到实际参数的值。

比如一个方法:

public static void print(int i){
        System.out.println(i*2);
}

我调用print方法,传参数:5    :   print(5);

这样程序就不会改变这个值了。


引用传递:

也称为传地址,方法调用时,实际参数的引用(地址,在内存中指向的地址,而不是参数的值)被传递给方法中对应的形式参数,在方法执行中,对形式参数的操作实际上

就是对实际参数的操作,方法执行中形式参数值的改变会影响实际参数的值。

比如:

public static void changeUser(User u){
       u.setName("china");
}

这样,实际参数的值也会改变,因为传过来的是一个对象在内存里面的地址,在方法里面修改是直接修改内存里面的值。
发布了33 篇原创文章 · 获赞 1 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章