JAVA 引用传递案例分析
生活随笔
收集整理的這篇文章主要介紹了
JAVA 引用传递案例分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一道:
????樣例代碼:
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 引用传递案例分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 中 String 类的常规操作
- 下一篇: Java中的程序设计模式--单例与多例