函数的参数是怎么传的(传值、传引用)what is the pass by value or reference?
1.将对象(对象的引用)作为参数传递时传递的是引用(相当于指针)。也就是说函数内对参数所做的修改会影响原来的对象。
2.当将基本类型或基本类型的包装集作为参数传递时,传递的是值。也就是说函数内对参数所做的修改不会影响原来的变量。
3.数组(数组引用))作为参数传递时传递的是引用(相当于指针)。也就是说函数内对参数所做的修改会影响原来的数组。
4.String类型(引用)作为参数传递时传递的是引用,只是对String做出任何修改时有一个新的String对象会产生,原来的String对象的值不会做任何修改。(但是可以将新的对象的 引用赋给原来的引用,这样给人的表面现象就是原来的对象变了,其实没有变,只是原来指向它的引用指向了新的对象)。
什么是值传递?
是指在调用方法时将实参复制一份传递到方法中,这样当方法对形参进行修改时不会影响到实参。
什么是引用传递?
是指在调用方法时将实参的地址直接传递到方法中,那么在方法中对形参所进行的修改,将影响到实参。
值传递和引用传递的区别有两点:
1)调用方法时有没有对实参进行复制。
2)方法内对形参的修改会不会影响到实参。
Java is strictly pass by value.

浙公网安备 33010602011771号