日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

理解值和对象-快照图

發布時間:2025/4/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理解值和对象-快照图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

快照圖(Snapshot diagrams)能代表程序運行時的各種狀態——它的棧(即方法和局部變量)和它的堆(即現在存在的對象)。

具體來講,使用快照圖有以下優點:

  • 在課堂上和會議上與同學交流
  • 解釋一些概念例如原始類型 vs. 對象類型不可更改的值 vs. 不可更改的引用, 指針別名, stack棧 vs. 堆heap, 抽象表達 vs. 具體表達.
  • 能夠幫助你解釋你的工程的設計思想
  • 為以后的課程做鋪墊(例如MIT 6.170中的對象模型)

雖然這些圖像都只是解釋Java中的一些概念,但是很多都可以延伸到別的現代語言中,例如Python, JavaScript, C++, Ruby.

原始值

原始值都是以常量來表達的。上面箭頭的來源可以是一個變量或者一個對象的內部區域(field)。

對象值

一個對象用一個圓圈表示。對象內部會有很多區域(field),這些區域又指向它們對應的值。同時這些區域也是有它們的類型的,例如int x?。

可更改的值 vs. 可被重新賦值的改變

通過快照圖我們可以視圖化可更改的值和可被重新賦值的改變之間的區別:

  • 當你給一個變量或者一個區域(filed)賦值的時候,你實際上是改變了它指向的方向,即指向了另一個值。
  • 當你修改一個可被更改的(mutable)值的時候——例如數組或者列表——你真正修改了這個值本身(譯者注:變量或者區域的指向并沒有變)

重新賦值和不可改變的(immutable)值

例如,如果我們有一個?String?變量?s, 我們可以將它從?"a"?賦值為?"ab".

String s = "a"; s = s + "b";

String?就是一種不可改變的(immutable)值,這種類型的值在第一次確定后就不能改變。不可改變性是我們這門課程的一個重要設計原則,以后的課程中會詳細介紹的。

不可更改的對象(設計者希望它們一直是這個值)在快照圖中以雙圓圈的邊框表示,例如上面的字符串對象。

可更改的(mutable)值

與此相對應的,?StringBuilder?(Java的一個內置類) 是一個可更改的字符串對象,它內置了許多改變其內容的方法:

StringBuilder sb = new StringBuilder("a"); sb.append("b");

可更改性和不可更改性(mutability and immutability)將會對我們的“安全健壯性”目標起到重要作用。

不可更改的引用

Java也提供了不可更改的引用:final聲明,變量一旦被賦值就不能再次改變它的引用(指向的值或者對象)。

final int n = 5;

如果Java編譯器發現final聲明的變量在運行中被賦值多次,它就會報錯。所以final就是為不可更改的引用提供了靜態檢查。

在快照圖中,不可更改的引用(final)用雙箭頭表示,例如上圖中的id,Person的id引用不可改變,但是age卻是可改變的。

這里要特別注意一點,final只是限定了引用不可變,我們可以將其引用到一個可更改的值?(例如final StringBuilder sb?),雖然引用不變,但引用的對象本身的內容可以改變。

同樣的,我們也可以將一個可更改的引用作用到一個不可更改的值(例如String s?),這個時候變量值的改變就是將引用改變。

?

轉載于:https://www.cnblogs.com/zdj-/p/8494316.html

總結

以上是生活随笔為你收集整理的理解值和对象-快照图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕福利 | 蜜臀av免费一区二区三区水牛 | 老女人做爰全过程免费的视频 | 日本少妇裸体做爰 | 欧美成人aaa片一区国产精品 | 日本肉体xxxx裸体xxx免费 | 青青视频免费观看 | 亚洲精品美女网站 | 17草在线 | 日本欧美一区二区三区 | 久久一区二区三区四区 | 在线五月天| 美女被男人桶出白浆喷水 | 中文字幕亚洲精品在线观看 | 91看片就是不一样 | 69中国xxxxxxxxx69| 极品美女无套呻吟啪啪 | av男人天堂av | 精品人妻伦一二三区免费 | 亚州av在线 | 动漫美女被吸乳奶动漫视频 | 一曲二曲三曲在线观看中文字幕动漫 | 艹男人的日日夜夜 | 99青草| 免费一级片| 欧洲女女同性videoso | 手机看片福利视频 | 亚洲乱码一区二区三区在线观看 | 日韩一二三区在线观看 | 午夜视频福利 | www视频在线 | 动漫玉足吸乳羞免费网站玉足 | 日本一区二区成人 | 另类天堂av | 美女色诱男人激情视频 | 亚洲熟女综合一区二区三区 | 少妇系列在线观看 | brazzers欧美极品少妇 | 午夜精品久久久久久久久久久久久蜜桃 | 亚洲激情中文 | 日本一区二区三区电影在线观看 | 色图一区 | 婷婷玖玖 | 女人叫床很黄很污句子 | 一区二区中文字幕 | 中文字幕网站在线观看 | 国产一级做a爱片久久毛片a | 日本一区二区三区免费电影 | 艳母在线视频 | 国产精久 | 天堂久久爱 | 少妇高潮喷水在线观看 | 国产成年人视频网站 | 自拍偷拍亚洲视频 | 九色网站在线观看 | 超碰成人免费在线 | 色鬼久久 | 亚洲不卡影院 | 亚洲视频区 | 久草资源在线播放 | av污| 一区二区男女 | 蜜桃视频在线观看一区 | 国产精品69久久久久孕妇欧美 | 色婷婷狠狠18禁久久 | 完全免费在线视频 | 性色av免费观看 | 乳罩脱了喂男人吃奶视频 | 超碰caopor| 综合一区二区三区 | www.色就是色 | 国产精品系列在线 | 99mav | 色婷婷777777仙踪林 | 玖玖zyz| 欧美久久久久久久久 | 粉嫩精品久久99综合一区 | 免费国产视频在线观看 | 欧美精品自拍偷拍 | 色a视频 | 国内精品视频一区二区三区 | 特黄在线 | 高清一区二区三区四区 | 鬼眼 电影| 国产睡熟迷奷系列精品视频 | www,五月天,com| 国产黄色片免费看 | 女人囗交吞精囗述 | 亚洲视频色图 | 国自产拍偷拍精品啪啪一区二区 | 亚洲美女福利 | 免费成人在线观看动漫 | 精品在线小视频 | 欧美日韩一区二区在线观看视频 | 自拍色图 | 韩国性猛交╳xxx乱大交 | 非洲一级黄色片 | 久久久久久免费观看 | 小视频在线播放 |