zoukankan      html  css  js  c++  java
  • 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对象)

  • 相关阅读:
    dijkstra最短路算法--模板
    k8s ansible自动化部署
    k8s persistenvolume 动态供给
    k8s 1.12二进制部署
    k8s 1.14.1 coredns部署
    django单表操作,增、删、改、查
    数据库基础
    TCP/IP协议 socket
    面向对象的程序设计
    模块
  • 原文地址:https://www.cnblogs.com/windy-xmwh/p/9159716.html
Copyright © 2011-2022 走看看