按值传递和按引用传递

实参给形参传递数据的两种方式:

1.按值传递:实参传递给形参的是值,实参和形参在内存上是两个独立的变量,修改形参不会对实参产生影响。原理如下图:

                                        按值传递和按引用传递

 

2.按引用传递:实参传递给形参的是引用地址,实参和形参在内存上指向堆内存中同一个数据,修改形参会对实参产生影响。 其原理图如下:

 

                                  按值传递和按引用传递

 

                                 按值传递和按引用传递

[小结]:

1.参数是基本数据类型:按值传递;引用类型:按引用传递 

2.自定义的类是引用类型 

3.对象作为方法参数,修改形参的属性会影响实参

4.对象数组作为方法参数,修改形参会影响实参

5.可变参数作为方法参数,修改形参会影响实参