zoukankan      html  css  js  c++  java
  • 【java】值传递和引用传递---对象作为方法的参数传入属于哪种传递

    首先 这篇作为一个永久性的问题,欢迎大家讨论

    其次,个人结论如下几条:

      ①Java有且只有一种传递,即 值传递

      ②作为方法的参数传入,都是对原本的实参进行了copy

      ③只不过【实参】若是【基本数据类型】的话,就是对【实参】的【字面值】进行了copy

      ④如果【实参】是【引用数据类型】的话,就是对【实参】的【数值的引用地址值】进行了copy

    最后,解释一下题目的【对象作为方法的参数传入属于哪种传递】,

      1》根据上述第一条,确认是值传递

      2》解释上面第四条,同时解释为什么是值传递    

    对象【类】属于引用数据类型。一个对象有几个东西区分来,如上图。

    这样的话,对象传递给方法作为参数传入,实际是将对象中存储的【数值的引用地址】,也就是【对象的值】进行了copy

    所以,对象作为方法的参数传入属于值传递。

    解释很牵强,但是自我理解原理就是这样的。希望所有看到并有兴趣交流的朋友们留言,交流。

  • 相关阅读:
    XCTF Guess-the-Number
    XCTF 3rd-GCTF-2017 hackme
    XCTF IgniteMe
    hdu 1713 相遇周期
    hdu 2092 整数解(一元二次方程解)
    failed to find romfile "efi-virtio.rom"
    在KVM主机和虚拟机之间共享目录
    Ubuntu下载连接(阿里云镜像)
    ubuntu apt-mirror 同步源到本地
    ubuntu 构建 deb 安装包
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/7093462.html
Copyright © 2011-2022 走看看