一.概念
值传递:jvm直接分配内存空间,定义变量时存储单元保存的是变量的值,当调用方法并将值传到方法里的时候,传的是变量的值
地址传递:定义变量时分配的内存空间存储单元存储的是变量的地址,当调用方法并将值传到方法里的时候,传的是变量的地址
二.值传递和地址传递都包括哪些数据类型?
1.属于值传递的数据类型有:八大基本数据类型:
浮点型:double,float
字符型:char
布尔型:boolean
整数型:int,short,byte,long
2.除了八大基本数据类型都属于地址传递
3.特例:String,Integer,Double这些包装类要特殊对待,因为他们是不可变类型,当定义了变量之后,调用方法并将值传到方法里的时候,虽然传的是变量的地址,给它赋值之后,对应的变量地址不会改变,地址指向的值也不会改变