一个对象的内存图
话不多说,上图:
1、第一步:用main(String args[])方法进栈(也叫压栈)。
2、对于一个对象来说,它的成员方法,保存的其实是一个地址值----->通过地址调用方法区中成员方法(含有地址)。
3、对象(new Phone)本身也有地址,根据地址就能从栈中引用/修改变量和进行方法的引用。
4、注意:变量的引用和方法的引用也有不同
5、❌表示出栈(在进栈过后必须进行出栈,栈中的内存清空)。
进栈(压栈)从下到上
出栈 从上到下
1、定义一个Phone two,与Phone one井水不犯河水。
思考一下如何让两者产生联系?(关键在Phone two=new Phone();)
两个对象引用指向同一个对象的内存(空间)图
使用对象类型作为方法的参数
注意:方法区中不光有class main(String args[])还有method(Phone param)。
当一个对象(或者类、数组)作为参数,传递到方法当中时,实际上传递进去的是对象的地址值。