先看看Java中如何使用new关键字创建一个对象的。
语句Student s = new Student();可以拆成两句话:
语句1:Student s;在 栈 中创建一块空间,该空间的名字是s,变量s类型是Student指针类型看,值为空(不是null)。
语句2:s = new Student();首先在 堆 中创建一块空间,该空间存储的是Student类对象的成员变量;然后用s指向这块内存。
这两句话对应的内存变化如下图:
所以s中存储的s所指向的对象在堆内存中地址。
理解了new关键字创建对象的过程,再来看看引用传参。Java中的引用一共有三种,数组、类对象、接口,下面着重看看数组和类对象的传参过程。