• Java语言中的值传递与引用传递


    Java应用程序中永远不会传递对象,而只会传递对象应用,因此,按对象引用传递。

    (1)      Int作为参数传递时,对形参值得修改不会影响到实参;

    (2)      StringBuffer作为参数时,对形参对象内容的修改影响到了实参。

    (3)      值传递只是传递了一个值的副本,对形参值得改变不会影响实参的值。

    (4)      引用传递,由于参数的地址也是以值是方式传递的,因此,无法改变实参的地址,只能改变实参地址指向的对象的值。

    (5)      String对象的传递,由于String对象的值是无法修改的,所以String对象作为参数时,对形参的修改不会影响到实参的地址,也不会改变实参地址指向的对象的值。而作为对象引用的传递,若该对象包含String类型的属性,使用该属性的set方法,可以设置该属性,但改变的是地址值。

    (6)     在方法调用的时候,对形参引用所指对象属性值的修改对实参可见。但是,对引用值本身的修改对实参是不可见的。

    String string1 = “123”;

    string1 = string1 + “345”;

    定义一个String s 其实是一个指向String对象的指针,string1 = String1 + “345”;将创建一个新的String对象来存放新的类容,原先的依旧在内存中,但s不再指向它。

    (string1和“345”都是String对象,字符串相连接,必然会开辟空间来存储新的String对象)

  • 相关阅读:
    java访问mysql方法数据库
    iOS8:把这些七招APP哭
    String、StringBuffer与StringBuilder差分
    陈词滥调,正确使用memset
    spring Annotation 组分注塑
    类是公共,它应该被命名为.java文件声明
    【UVA】10012
    Android在ListView显示图片(重复混乱闪烁问题)
    oc-15-枚举结构体
    oc-15-self
  • 原文地址:https://www.cnblogs.com/windy-xmwh/p/9159716.html
Copyright © 2020-2023  润新知