第一道:

样例代码:

class Message{private int num;public int getNum() { return num; }public void setNum(int num) { this.num = num; }
}public class Main {public staticvoid main(String[] args) {Message msg = new Message();msg.setNum(100);fun(msg);System.out.println(msg.getNum());   // 结果为 30}publicstatic  void fun(Message temp){temp.setNum(30);}
}

    内存分析图:

第二道:

本道分析的关键在于:

字符串常量一旦声明则不可改变,字符串对象内容的改变的依靠的是地址的引用关系变更。

样例代码:

public class Main {public staticvoid main(String[] args) {String str = "hello";fun(str);System.out.println(str);    // 最终结果是 hello}publicstatic  void fun(String temp){temp = "world";}
}

    内存分析:

第三道:

样例代码:

class Message{private String note;public String getNote() { return note; }public void setNote(String note) { this.note = note; }
}public class Main {public staticvoid main(String[] args) {Message msg = new Message();msg.setNote("hello");fun(msg);System.out.println(msg.getNote());    // 最终结果是 world}publicstatic  void fun(Message temp){temp.setNote("world");}
}

    内存分析:

        方式一:

将String 按照普通基本数据类型分析 (最简单,略不合适)

        方式二:

因为String 引用类型,所以按照引用类型数据分析

                

JAVA 引用传递案例分析相关推荐

  1. Java值传递问题分析解决

    Java值传递问题分析解决 问题背景 解决方案 总结 Lyric: 失去你的地方 问题背景 因为深知函数非基本类型的参数都是浅拷贝,所以在调用的函数中更改参数的值,调用方的值也会随之改变,但今天遇到一 ...

  2. 值传递与引用传递案例对比

    java本身是值传递类型,值传递则是传递相应的值,比如一个方法,只是将值传递给了形式参数,若返回值为空,则最终输出值是不变:而引用传递则是传递的一个对象,其本质还是值传递,但是中间会有一个对象.我们可 ...

  3. java 引用传递_详解java的值传递、地址传递、引用传递

    详解java的值传递.地址传递.引用传递 一直来觉得对值传递和地址传递了解的很清楚,刚才在开源中国上看到一篇帖子介绍了java中的值传递和地址传递,看完后感受颇深.下边总结下以便更容易理解. 按照以前 ...

  4. java引用传递106_(转载)java的值传递与引用传递

    1 说明:本文的适用对象为java初学者.如果有读者发现文章中有叙述不妥之处,请指正.2 3 今天在论坛上有人提了一个关于java中调用函数时有没有引用传递的问题,可谓是吵的不可开交.有人说java只 ...

  5. java引用传递_理解Java中的引用传递和值传递

    关于Java传参时是引用传递还是值传递,是一个讨论比较多的话题, 有说Java中只有值传递,也有些地方说引用传递和值传递都存在,本篇记录思考过程,不保证正确性, 感兴趣的同学一起讨论. 1.基本类型和 ...

  6. java微服务案例分析_《Java深入微服务原理改造房产销售平台》知识点梳理与问答总结...

    一图胜千言 一图胜千言 既然已经在session有了,直接session取就行了,为什么要再放threadlocal,之后再从threadlocal清掉,一直从session拿不就行了? 答: 放在T ...

  7. java引用传递关键字_Java值传递和引用传递

    Java值传递和引用传递 1 什么是Java值传递和引用传递 在Java中只有值传递,而没有引用调用.如果我们调用传递值的方法,则称为按值调用.在调用方法中完成的更改在调用方法时不受影响. 2 Jav ...

  8. c语言的指针和java引用传递参数,java传参数是传值还是引用

    1.基参数是本数据类型 传递是值(或者说值得副本). 2.参数是对象的话传递的是对象引用的副本.(1.修改引用副本指向新对象不会影响原来对象,2.修改引用指向的对象的属性会修改成功,3.如果传递时st ...

  9. java 数组传递是引用吗_数组是通过值传递还是通过Java引用传递?

    本问题已经有最佳答案,请猛点这里访问. Possible Duplicate: Is Java"pass-by-reference"? 数组不是Java中的原始类型,但它们也不是对 ...

最新文章

  1. Python urllib和urllib2模块学习(一)
  2. iOS开发-项目的完整重命名方法,图文教程。
  3. x86分页机制——《x86汇编语言:从实模式到保护模式》读书笔记42
  4. Codeforces1080F. Katya and Segments Sets
  5. 在一个数组中,如何确定所需元素在数组中的位置.
  6. 看完这篇文章,还说自己不会使用Zookeeper命令吗
  7. 问题 G: Search Problem (IV)
  8. 吉林大学计算机专业宿舍研究生,吉林大学计算机系的研究生宿舍怎么样?我想考那的..._在职考研_帮考网...
  9. jenkins配置ant
  10. mysql 上一周起始时间_mysql 某周的起始和结束日期
  11. 软件测试面试必考题:自我介绍
  12. 西藏自治区市谷歌高清卫星地图下载
  13. 1041 例题4-2 比较交换实数值
  14. php添加数据数据库乱码,php添加数据数据库乱码
  15. Windows10下美化字体,达到类似mac的效果
  16. python选题背景_论文的选题背景及意义-样例
  17. html保存当前页面为图片,将html页面保存成图片,图片写入pdf的实现方法(推荐)
  18. 数据禾|2020年江苏省土地利用数据(矢量)
  19. 日历记事本时钟java_java日历记事本(无敌版带提醒功能调整时区更换图片铃声功能)...
  20. javascript 弹出对话框

热门文章

  1. 五十、简单的斗鱼分析案例
  2. pyqt5窗口 样式 背景
  3. 五、Requests库详细的用法
  4. 强烈推荐十大NLP主流经典项目:预训练BERT、知识图谱、智能问答、机器翻译、文本自动生成等...
  5. CMU预训练模型最新综述:自然语言处理新范式—预训练、Prompt和预测
  6. ACL 2019开源论文 | 基于Attention的知识图谱关系预测
  7. ffmpeg 声音参数_ffmpeg转换参数和压缩输出大小的比率
  8. python 逗号作用 语句间_Python中逗号的三种作用
  9. 06 | 全局锁和表锁 : 给表加个字段怎么有这么多阻碍
  10. 零基础带你一步步搭建Nacos高可用集群(史上最详细,赛过教科书!)为此我准备了三台云服务器+云数据库