Java的值传递
——小城贝尔
参数传递很简单,先将数据类型看。
基本类型栈中间,独立门户翘上天。
引用类型堆里现,仅传地址值多变。
再说Java的值传递之前先声明几个概念
(1)在Java中只有值传递引用数据类型的地址传递也是值传递,地址也是值
(2)形参:方法名字后边的括号中所定义的参数叫做形参
(3)实参:调用方法的时候所传递的值叫做实参
参数传递很简单,先将数据类型看。
是说在分析参数传递之前先看数据类型 在Java中就 基本数据类型 和引用数据累型
基本类型栈中间,独立门户翘上天。
是说说基本数据类型储存在栈中,当在方法中是以基本类型为参数的时候,值直接赋值给新的变量与赋值的值的变量完全是两个独立互不干扰没有任何关系的变量
引用类型堆里现,仅传地址值多变。
当参数是引用数据类型的时候,值传递的只是栈中的地址 而地址所指向的堆中的值依然是实参的值 也就是说一个地址指向了一个对应的值 而这个地值还被两个变量名引用当其中一个变量名对值进行了修改那么另一个变量名指向的这个修改的值也就变了因为他们是同一个地址指向的值,就好像两只兔子共同拥有一个萝卜 一个咬了一口,当另一个去吃的时候肯定会看到上一个留下的吃过的痕迹。