String s new String ab這個java語句建立了幾個變數為什麼

2021-05-02 20:11:18 字數 593 閱讀 1446

1樓:匿名使用者

3個"a"+"b" 被編譯器優化成 "ab" , 是一個string物件 , 裡面包含了一個 char陣列,陣列是一種特殊型別的物件

new string("ab") 生成一個string類,內容也是 "ab",但是內部的char和上面那個string用的同一個,所以沒有新的char生成

一共是3個

2樓:

你是想問建立了幾個物件吧?如果說變數的話,應該說定義了幾個變數。

這裡定義了一個變數s,並賦給一初始值"ab"。

"ab"是一個字串物件,它是怎麼生成的呢,看下面分解:

1、"a"是一個字串物件;"b"也是一個字串物件。

2、」a「 + "b"通過連線生成一個新的字串物件」ab「。

3、通過new string("ab"),以」ab「字串物件做為引數生成另外一個」ab「字串物件,並賦值給變數s。

所以,這裡定義了一個變數,建立了4個物件,有2個是字串物件值相同,但不是一個物件。

3樓:香山冰點

一個,因為就用了一個new,這個變數是s,s裡放的是ab

java這個superstart是什麼意思

凡是帶了 表示 是內部類 如果 後面不是類名 而是 數字 表示你這個內部類是匿名類。比如說 button.addactionlistener new actionlistener 先搞明白內部類和匿名類的含義吧 內部類就是一個類的定義放在了另一個內的內部package xx class a 那麼b的...

為什麼這個Java程式會輸出這個結果

一.除錯了一下a a new b 的執行順序 先載入類,執行父類的靜態變數static int j 7 然後執行子類的靜態變數及 塊static int j 9 static 這裡會先執行new a 然後執行t 可以分1 2 兩步來看 1 出現new a 了就會載入非靜態變數int k 6,然後呼叫...

這個SQL語句怎麼寫好呢

select 貨品,批次,貨位,sum 噸位 as 噸位from select 貨品,批次,進出港類別,貨位,0 噸位 as 噸位 from a where 進出港類別 出港 union select 貨品,批次,進出港類別,貨位,0 噸位 as 噸位 from a where 進出港類別 轉港 u...