java中对象作为方法的入参时,这个入参是否会在栈和堆中创建临时的对象

2025-04-07 17:12:40
推荐回答(1个)
回答1:

当new一个对象的时候,java在堆对对象分配内存,在栈中定义一个特殊的变量,这个变量的取值等于对象在堆内存中的首地址。

因此,单对象入参的时候,d2也是在栈中定义一个保存内存首地址的变量而已,这个地址指向原先在堆中被分配的内存。

因此,在方法中对对象的操作是直接操作原有的对象,而不会在堆中分配而外的内存。
也就是d1和d2指向的是同一个内存地址