`
2540611109
  • 浏览: 10103 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论
  • ayaome: 可以总结下他们各自的优点、缺点,各自适合在什么样的场合使用
    Java

参数传递

 
阅读更多
                   参数传递  



        由于要说到参数传递,首先要区分属性和参数(针对参数名和属性名相同的情况),能起到区分作用的是关键字this。
             This 关键字
  用途:
  区分参数和属性,加this的是属性,注意输出时是要输出哪一个,有时候输出的是属性,有时候输出的是参数;
  在类中调用构造方法、普通方法和属性。
  表示:当前调用方法的对象


值传递:适用于九种数据类型 byte,short,int,long,float,double,char,boolean,String
    值传递的传递方式:传递内容的副本
引用传递
何引用:在程序执行到某一部分是可能会用到另外地方的值,这时候需要把这个值给拿过来用,但不是把这个值给换到要用的地方,这个过程称为引用                                                              
引用传递  (地址传递),c和C++里为指针传递,引用的时候用对象名表示,比如一个学生对象,名叫“张三”,当使用“张三”这个名字时,引用的就是这个学生对象,但这个学生对象实体和“张三”这个名字不是同一个东西,此时称“张三”这个名字引用了这个对象;
    
    适用类型:对象类型(类类型、引用类型)和数组                                                     
  对象名里编存储的是对象在内存中的首地址
  
  字符赋值和构造函数初始化有不同
  例如 st1=“abc”,在内存里面是先给st1开辟一个存储空间,然后将abc这个字符串放在存储空间里面
  如    Studdent   st1=new Student(“abc”);则是在池中(堆)开辟一个存储空间,把abc这个值放在里面,记录下这个地址,然后把这个地址指向st1,当调用st1时,就相当于是访问地址,根据这个地址把视线转到堆中,找到堆中存储的东西。

    注意:如果是值传递方式,则传递后,两个参数间不再相互影响;如是

引用传递的方式,由于传递的是存储地址,两个参数存的是同一个地址,表示同一个位置,就相当于一个人有两个名字一样,如果改变地址,则两个参数都会改变。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics