java根据变量的类型可分为基本类型变量与引用类型变量
,这两种变量类型主要有以下几点不同:
1.存储机制
基本类型变量是直接在栈内存中开辟存储空间存储变量值
引用类型变量是由引用空间与存储空间两部分构成,引用空间在栈内存中,负责存放存储空间的内存地址,存储空间在堆内存中,存储引用变量类型的值。通过引用空间的地址值可以修改存储空间的信息。
2.变量传递
当变量与变量之间赋值时,引用类型变量和基本类型变量都属于值传递,不同的是基本类型变量传递的是值本身,而引用传递的是却是引用地址。
基本类型变量赋值:
int i = 8;
int j = i;
int j = j+1;
System.out.println(i);//8
System.out.println(j);//9
引用类型变量赋值:
Person p = new Person();
p.setName("张三");
p.setAge(20);
Person s = p;//共用同一个对象
s.setName("李四");
s.setAge(30);
System.out.println(p.getName() + p.getAge());//李四 30
System.out.println(s.getName() + s.getAge());//李四 30