int x = 3;
public void value(int a){
a = 3*a;
}
实际上外面的全局变量x的值还是3;局部变量a只是拷贝了x的值
同理:
Dog x = new Dog("red");
Dog y = new Dog("blue");
函数swap(T a, T b); 打个比方a , b是函数swap的两个参数
调用 swap(x, y);
其实可以把x,y看成指针;x,y都存储了一个地址值;所以a拷贝了x存储的地址值,b拷贝了y存储的地址值;所以 调用 swap(x, y) 只是交换了a,b的地址值,x,y的地址值没有改变;x,y还是引用各自原来的对象;所以java采用的是值传递
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦