开发者社区> 问答> 正文

java值传递和址传递?

java值传递和址传递?

展开
收起
李博 bluemind 2019-03-06 17:37:34 4001 0
14 条回答
写回答
取消 提交回答
  • 下一站是幸福

    函数的参数都是形参,只有在函数调用的时候系统才会为形参分配空间和地址,形参和实参不会是同一个内存地址

    函数传参的值传递和地址传递 例:int a = 1; a在内存中的地址假设是0x001 值传递:传递的变量的值,就是传递的是1这个值 地址传递:传递的是变量的地址,就是传递的是0x001这个地址

    2020-04-17 22:25:52
    赞同 展开评论 打赏
  • 8个基础数据类型+string为值传递,其它为引用传递。

    2020-02-18 23:04:12
    赞同 展开评论 打赏
  • 除了对象都是值传递

    2019-07-17 23:30:16
    赞同 展开评论 打赏
  • 基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的,对象作为参数传递时,是把对象在内存中的地址拷贝了一份传给了参数。

    2019-07-17 23:30:16
    赞同 展开评论 打赏
  • 例如int、double等基本类型是值传递,其它都是址传递,注意基本类型对应的Integer、Double都是对象,也是址传递。

    2019-07-17 23:30:16
    赞同 展开评论 打赏
  • 首先要说明的是java中是没有指针的,java中只存在值传递,只存在值传递!!! 然而我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。

    2019-07-17 23:30:16
    赞同 展开评论 打赏
  • 理解了引用和值的区别你就明白了

    2019-07-17 23:30:16
    赞同 展开评论 打赏
  • 0v0

    址本身就是值,java不是纯粹的OO语言,存在8种基本类型(非对象),这些类型是传递本身,其他是传递对象地址值。注意,地址值得传递不是C++中引用传递

    2019-07-17 23:30:16
    赞同 展开评论 打赏
  • 基础类型为值传递,类为址传递

    2019-07-17 23:30:16
    赞同 展开评论 打赏
  • 先看表象,输入参数中有一个基本类型的参数,一个封装类型的对象,在方法体中修改了以上2个参数;
    1.方法退出后这2个参数,在主方法中值会变化吗?
    2.思考下这2个参数在内存当中存在什么那块区域上
    考虑清楚以上2个问题,你就明白了

    2019-07-17 23:30:16
    赞同 展开评论 打赏
  • 值传递是传递对象本身 地址传递是传递对象的地址

    2019-07-17 23:30:15
    赞同 展开评论 打赏
  • 首先要说明的是java中是没有指针的,java中只存在值传递,只存在值传递!!! 然而我们经常看到对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,实际上这个传入函数的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。

    可参考 https://www.cnblogs.com/coderising/p/5697986.html

    2019-07-17 23:30:15
    赞同 展开评论 打赏
  • 很简单分辨,JAVA变量如果类型是小写字母的,就是值传递(数组除外)。
    其他类型是大写字母开头的对象,以及数组(int [ ] / byte [ ] 这类)都是址传递。

    值传递相当于复制一份变量,方法内修改了变量,方法外不会感知到,因为修改的是复制品。
    址传递相当于同一个变量传递进去,方法内修改了变量,方法外会感知到,因为修改的是同一个东西。

    2019-07-17 23:30:15
    赞同 展开评论 打赏
  • 按值传递:基本类型变量-按值传递,按值传递通过复制获取参数的副本,
    基本类型:六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,一种布尔型。

    按址传递:引用类型变量-按址传递,按址传递通过传递对象的引用地址

    2019-07-17 23:30:15
    赞同 展开评论 打赏
滑动查看更多
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载