转(http://blog.csdn.net/niuniu20008/article/details/2953785

许多编程语言都有2种方法将参数传递给方法------按值传递和按引用传递。

与其他语言不同,Java不允许程序员选择按值传递还是按引用传递各个参数,基本类型(byte--short--int--long--float--double--boolean--char)的变量总是按值传递。就对象而言,不是将对象本身传递给方法,而是将对象的的引用或者说对象的首地址传递给方法,引用本身是按值传递的-----------也就是说,讲引用的副本传递给方法(副本就是说明对象此时有两个引用了),通过对象的引用,方法可以直接操作该对象(当操作该对象时才能改变该对象,而操作引用时源对象是没有改变的)。

现在说说数组:如果将单个基本类型数组的元素传递给方法,并在方法中对其进行修改,则在被调用方法结束执行时,该元素中存储的并不是修改后的值,因为这种元素是按值传递,如果传递的是数组的引用,则对数组元素的后续修改可以在原始数组中反映出来(因为数组本身就是个对象,int[] a = new int[2];,这里面的int是数组元素的类型,而数组元素的修改是操作对象)。

对于单个非基本类型数组的元素在方法中修改,则在被调用方法结束执行时,该元素中存储的是修改后的值,因为这种元素是按引用传递的,对象的改动将在源数组的数组元素中反映出来。

最新文章

  1. [LeetCode] Valid Parentheses 验证括号
  2. linux中ldconfig的使用介绍
  3. Caffe 源碼閱讀(六) InternalThread
  4. eclipse中安装adt插件
  5. Web压力测试 ApacheBench(ab)
  6. C#常用集合的使用(转载)
  7. 手机wifi密码的保存位置
  8. 《JavaScript模式》第1章 简介
  9. MySQL之Join
  10. careercup-高等难度 18.9
  11. Apache URL rewrite 配置
  12. Linux中的磁盘
  13. displaytag 动态列实现
  14. media query(媒体查询)和media type(媒体类型)
  15. Not on FX application thread; currentThread = AWT-EventQueue-0的解决方法
  16. QT的常用对话框的应用
  17. 让Android SDK Manager正常更新的办法
  18. 添加 jar 包后需要做的配置
  19. debian8最小化安装,字符界面的中文配置
  20. git乌龟http/https以及ssh clone的秘钥配置永久免密码登录设置

热门文章

  1. 【WEB前端】CSS继承性和层叠性(极度重要)
  2. 全面解析sizeof(上) 分类: C/C++ StudyNotes 2015-06-15 10:18 188人阅读 评论(0) 收藏
  3. perl回文数解析,比C容易多了
  4. mysql学习之触发器
  5. Python几种主流框架
  6. 【python】多进程锁multiprocess.Lock
  7. 从头开始db-oracle
  8. CSS 选择器(转)
  9. makedown使用语法
  10. eclipse安装反编译工具