正常说的Java在进行实参与形参的参数传递过程中,主要分为两种,一种是传递值,另一种是传递址,其中“值”的理解就是值,与内存没有太多关系,而“址”就是指的内存的地址,详细说是堆中的地址(可以 直接理解为硬盘划了一块区域实例化的对象)。
那么我们仔细想一下“值”和“址”从概念上是不是同一个东西呢,“23”和“ValueAndAddress@3802f063”,都是一个字符串,"址"从另一个角度理解也是“值”
ok,我们说一下区别,“值”是没法子即使通过形参操作,也没法改变原来的值了,因为只有一个“23”,找不到任何的对象类,就一个值,操作毛线;而“址”因为是一个对象的地址,在使用形参操作这个地址时间,实际是处理地址所代表的对象类,如StringBuffer,使用形参调用其append方法,实参代表的内容同样会变化。
我想大家应该明白了,不明白的话,留言,咱们说道说道