-
值传递: 只要是基本类型传递 都是值传递;值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。简单来说就是直接复制了一份数据过去,因为是直接复制,所以这种方式在传递时如果数据量非常大的话,运行效率自然就变低了,所以java在传递数据量很小的数据是值传递,比如java中的各种基本类型:int,float,double,boolean等类型
-
引用传递:针对于基本类型进行封装,对封装进行传递,是引用传递;引用传递其实就弥补了上面说的不足,如果每次传参数的时候都复制一份的话,如果这个参数占用的内存空间太大的话,运行效率会很底下,所以引用传递就是直接把内存地址传过去,也就是说引用传递时,操作的其实都是源数据,这样的话修改有时候会冲突,记得用逻辑弥补下就好了,具体的数据类型就比较多了,比如Object,二维数组,List,Map等除了基内本类型的参数都是引用传递
-
基本数据类型(4类8种)
- 数值类型默认int 占用字节数
byte 1
short 2
int 4
long 8 - 浮点数默认double
float 4
double 8 - 字符
char 2 - 布尔
boolean 1
- 数值类型默认int 占用字节数
-
引用数据类型
- 类
class - 接口
interface - 数组
[] - String
值传递变量名称和变量值都是存储在栈中,引用类型的传递变量名称存储在栈中,变量值存储在堆中
值传递和引用传递本质都是值传递,值传递传递的是变量值,引用传递传递的是地址值
- 类
值传递和引用传递
最新推荐文章于 2024-03-10 08:53:09 发布