Re: [問題] 初學者的問題

看板java作者 (用功點吧!)時間19年前 (2007/01/23 16:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/9 (看更多)
※ 引述《baelrog (魔)》之銘言: : ※ 引述《gauyew ([瑤]拚了~)》之銘言: : : ^^^^^^^^^^^^^^^^^^^^^ : : 陣列宣告只是分配指標罷了,並未實體化, : : 所以,在陣列宣告後,要用建構元產生實體 : : 有沒有 new 拉? .... : 和int test = new int; : 這兩種宣告法一個有new一個沒有new : 但是差別到底在哪裡 : 而且就實際使用上來看 : 兩種得到的結果好像差不多 : 因為在我原本的小畫家裡沒有用new的int參數一樣可以用 : 陣列宣告後不會產生實體 : 那int宣告之後就會@@? : 整體的結構不是很清楚 int 是 primitive variable,不用去 new 他 int[] 是陣列,陣列是物件的一種,而物件的產生要用 new,屬於 reference variable int a = 5; // a就是5 java裡面小寫的都是 primitive variable,變數直接代表 值 其他都是 reference variable,變數代表物件的參考(就像遙控器),你可以透過 參考(遙控器)去控制物件,但遙控器並不是物件本身。 而 int a = new int[3] ; // a 是一個陣列,所以要用 new 產生一個 reference。(陳列是物件) // 而陣列中的元素裝的是 int (primitive variable) a[0]=1; //a陣列的第0個元素是primitive var,所以不用 new ...... 特例: String str = "abc" ; 他也不用 new 就可以用,但 String 卻是個物件,why ? 因為設計java的人讓我們偷懶可以少打點字,所以那一行在 compile 的時候會被自動 轉換成 String str = new String("abc"); 有錯請指正^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.148.68
文章代碼(AID): #15jSdG9z (java)
討論串 (同標題文章)
文章代碼(AID): #15jSdG9z (java)