A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

    Java编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。

      方法的参数传递:
      ①形参:方法声明时,方法小括号内的参数
      ②实参:调用方法时,实际传入的参数的值
   
     规则:java中的参数传递机制:值传递机制
     ①形参是基本数据类型的,将实参的传递给形参的基本数据类型的变量
     ②形参是引用数据类型的,将实参的引用类型变量的值(对应的堆空间的对象的实体的首地址值)传递给形参的引用。
本质:都是传递给实参的都是其中的值。

Question1:引用变量是否属于对象?
    ArrayList myAL = new ArrayList();
      myAL本身不是对象,而是对对象的引用。对象在内存中被创建,JAVA中只能通过使用对象变量(myAL)来引用内存中的对象。[实际上(myAL)是一            个指向内存的指针
      而ArrayList myAL=new ArrayList();有两个意思
                1、生成ArrayList()对象
                2、把ArrayList()对象的引用付给myAL
          ArrayList myNextAL=myAL;
          this statement没有生成新的对象,只是又把myAL付给myNextAL,这两个引用都指向同一个ArrayList对象



评分

参与人数 1黑马币 +22 收起 理由
贝克街 + 22 很给力!

查看全部评分

13 个回复

倒序浏览
挺好的,赞一个!
回复 使用道具 举报
贝克街 发表于 2015-10-10 20:03
挺好的,赞一个!

谢谢你,你也加油啊!争取早点进黑马!
回复 使用道具 举报
字符串类型一旦被定义就不能改变了  只能是引用改变
回复 使用道具 举报
Jared 发表于 2015-10-10 21:11
字符串类型一旦被定义就不能改变了  只能是引用改变

恩恩,是啊,StringBuffer、StringBuilder可以改变
回复 使用道具 举报
Jared 发表于 2015-10-10 21:11
字符串类型一旦被定义就不能改变了  只能是引用改变

不好意思,刚回复的有点问题,不只是字符串类型,引用类型的变量都属于引用改变,本质还是值传递
回复 使用道具 举报
写的很详细,概括的很全面,,谢谢分享~
回复 使用道具 举报
路过学习一下
回复 使用道具 举报

恩恩,大家都加油!
回复 使用道具 举报
小曦 初级黑马 2015-10-14 14:08:08
10#
挺不错的!
回复 使用道具 举报
很好,来学习咯
回复 使用道具 举报
挺好的,赞一个!
回复 使用道具 举报
学习了,赞一个,楼主加油!!
回复 使用道具 举报
前来学习~~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马