五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【零基礎(chǔ) 快速學(xué)Java】韓順平 零基礎(chǔ)30天學(xué)會(huì)Java

2023-06-30 12:31 作者:回家的星星  | 我要投稿

對(duì)于String類來說,保存字符內(nèi)容的屬性是private final char[] value,該屬性被private修飾,無法在外部修改其值,又被final修飾,value數(shù)組的引用無法被更改。外部采用String str = new String("1234");個(gè)人理解創(chuàng)建對(duì)象步驟為1.現(xiàn)在堆中開辟空間0X11用str指向該空間。2.在0X11中在開辟空間0X22,來表示value數(shù)組的地址。3.在常量池里開辟空間0X33表示字符串1234的空間,用value數(shù)組指向該空間。如圖:

所以如果要修改str的值有兩種方式1.重新new一個(gè)字符串對(duì)象,那么原來的對(duì)象由于沒有引用指向,就被JAVA的垃圾回收機(jī)制回收,str指向新的對(duì)象,value就是新的value,但是在常量池里的常量并未改變。2.通過常量池給str對(duì)象賦值,那么就不會(huì)再堆中開辟空間,而是判斷常量池中是否要該字符串常量,如果沒有在常量池中開辟一段空間來存放,在將str對(duì)象指向該空間。

特別注意:關(guān)于屬性value,可能有同學(xué)還是沒有弄懂到底是什么不能改,看以下例子:

final char[] value ={ 'a','b','c'};
 char v[] ={ 't','o','m'};
 value = v;//Cannot assign a value to final variable 'value'
value[0] = 'h';

可以看到將value數(shù)組指向v數(shù)組時(shí),會(huì)報(bào)出不能給final變量value賦值,但是value[0] = 'h'是可以的,所以value的地址不能改變但是值可以改變。但是在String類里面value是被private修飾的外部無法訪問,所以我們不能像上面這個(gè)例子一樣修改value的值! 所以對(duì)String對(duì)象來說,當(dāng)我們重新指向新的內(nèi)容時(shí),其實(shí)本質(zhì)上是開辟了新的空間,指向了新的對(duì)象。

【零基礎(chǔ) 快速學(xué)Java】韓順平 零基礎(chǔ)30天學(xué)會(huì)Java的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
周至县| 合作市| 安阳县| 安泽县| 上林县| 禄丰县| 黄大仙区| 突泉县| 沭阳县| 鹤山市| 屏山县| 盐亭县| 确山县| 即墨市| 安达市| 大港区| 勐海县| 阳春市| 会昌县| 福清市| 滁州市| 通州区| 遂宁市| 砀山县| 大丰市| 五原县| 肃北| 凤阳县| 新巴尔虎左旗| 海南省| 云浮市| 伊宁市| 漳州市| 自治县| 辽中县| 涡阳县| 黑龙江省| 阳东县| 石楼县| 通辽市| 教育|