首先:
基本数据类型:8种 byte short int long (4种) float double(浮点型) boolea(布尔型) char(字符类型)
引用数据类型:class,interface,array 数组之类的
引用数据类型一定储存在堆当中,但是其变量名保存在栈当中储存着大量关于堆中数据的信息
当让数组名子之间直接相等,或者让class,interface创建的例子,让例子之间相等的时候,相当于是将其地址赋值在了一起:当对A例子进行操作的时候,实际上也会对B例子进行操作,两者之间相当与图中C和D之间的关系
但是当是基本数据类型进行赋值的时候,就是传值引用,
int A=30;
int B=A;
B=20;
其中对于B赋值不会影响到A的值
int [] A=new int[3];//在栈内存当中创建了一块内存 储存着A和指向三块int数组内存地址的堆内存
int [] B =A;
A[0]=30;//此时B[0]的值也变成了30
//在栈内存当中创建了一块内存储存着变量B和将A的地址赋值给了B当中,那么在堆内存当中,A和B指向和执行的是同一块内存