栈中的数据

栈中有基本类型和对象句柄,基本类型又叫值类型,对象句柄又叫引用类型;java中的方法值中传值时,就有了值传递和引用传递。

基本类型

Java中有8中基本类型,int, short, long, byte, float, double, boolean, char;

引用类型

比如:

Object o=new Object();

o就是引用类型,o是一个指针,指向堆中的变量。

代码分析

值传递

Java学习第32天-值类型和引用类型

打印结果

Java学习第32天-值类型和引用类型

内存模型

Java学习第32天-值类型和引用类型

1、main方法中变量a的初始值是123,没有发生变化;

2、a传到changInt方法中,实际传的是一个变量副本,a的初始值是123,方法中a变成456,是副本发生了变化;

3、main中的值,没有改变,还是123;

 

引用传递举例

Java学习第32天-值类型和引用类型

打印结果

Java学习第32天-值类型和引用类型

内存模型

Java学习第32天-值类型和引用类型

1、main方法中p的年龄初始值是10;

2、将p传到方法changePerson(),因为是引用类型,对象在堆中是同一块地址。方法中修改了年龄为15;

3、main中再去访问时,年龄发生变化,所以修改后的年龄是15;

 

相关文章:

  • 2021-07-31
猜你喜欢
  • 2022-12-23
  • 2021-10-13
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
相关资源
相似解决方案