ITPub博客

首页 > IT职业 > IT职场 > java程序设计语言采用的是值传递

java程序设计语言采用的是值传递

IT职场 作者:tzhang911 时间:2021-09-09 09:27:08 0 删除 编辑


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采用的是值传递

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1926/viewspace-2809978/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: MySQL 子查询
请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    100
  • 访问量
    752