Re: [問題] new 語法的疑問
※ 引述《SuperNeo (潛水初號機)》之銘言:
: 目前正在自修JAVA,遇到問題只能看書、找良葛格、估狗大師
: 查完之後還是不太了解 new 的語法
: 僅知如:
: Circle c1 = new Circle(); // 建立Circle類別的副本,名字是c1
^^^^
根本不是什麼副本。
Circle c1 有一指向 Circle 的 "指標" (reference),叫 c1
new Circle() 生成一個新的 Circle 物件 (或 實例 instance)
c1 = .... 把 c1 指向剛生來來的那個物件
(指標不是通用的 "reference" 的翻譯,但我覺得這裡這樣說比較
容易理解一點)
: 但是下面這行就讓我亂掉了
: Shape c2 = new Circle(); // 這行我無法用中文翻譯-_-
有一指向 "Shape" 的指標 叫 c2
指向 新生成的 Circle 物件
: 所以我想弄懂的是
: 最前面的 Circle、Shape 跟最後面的Circle、Shape 各代表什麼意思
: A c1 = new A();
: 2個A分別代表的意思 例如:前面的A是參考物件 後面的A是???
前面是宣告了一個 A 的 reference, 叫 c1
後面是 生成一個新的 A 物件
: 附上 此範例程式碼
(43)
: 程式碼是手key的,有錯字請見諒 -_-
: 因為看到字串的宣告部份又出現可怕的new運算子
: 所以才回頭用上述的前範例發問。
: 下面是陣列部份遇到不知差別在哪的語法:
: //宣告一個int陣列 叫temp
: int[] temp;
宣告一個 int array *的 reference* 叫 temp
: //宣告一個int陣列 叫tips 並放入3個元素
: int[] tips = {100,200,500};
{100,200,500} 你想成是生成 array 的特別語法
這裡生成了一個三個元素的 array,
然後 tips 指向這個 array
: //宣告一個倍精準的陣列"副本"? 叫scores。 並宣告他有5個元素?
: double[] scores = new double[5];
new double[5];
生成一個 5 元素大的 double 的 array.
scores = ..... score 指向該 array
: 不懂為何這理要多一個new運算子
: -----------------------------抱怨分隔線----------------------------
: 認識的朋友 都是C# .NET派流,所以自修的頗辛苦
這堆和 C# 的理解方法沒什麼分別。
: 加上英文又破,只要連結是英文的就沒耐心看完他。-_-"
: 目前自修的書是 "Java2 程式設計範本 陳會安著"
: 一直在Console地方排迴,字串章節部份 突然又
: 暴增一堆語法實在很難消化…也記不起來 Orz
: 到現在連個自用小零用金的應用程式也寫不出來
: 但直接跳SWING章節 又太多看不懂的地方
: 實在是很沒自信心如何能coding出東西…
: -----------------------------抱怨分隔線----------------------------
: 麻煩前輩指點new運算子的語法 萬分感謝。
new Foo(....);
生成一個 Foo 的物件,括號內的就是指明了用哪一個
constructor
new Foo[n];
生成一個 Foo 的 array, 共有 n 元素長。
new 就這兩種用法而已。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.77.15.226
推
01/01 17:53, , 1F
01/01 17:53, 1F
→
01/01 18:30, , 2F
01/01 18:30, 2F
→
01/01 18:33, , 3F
01/01 18:33, 3F
推
01/01 18:41, , 4F
01/01 18:41, 4F
→
01/01 18:45, , 5F
01/01 18:45, 5F
推
01/01 18:50, , 6F
01/01 18:50, 6F
推
01/01 19:03, , 7F
01/01 19:03, 7F
→
01/01 19:04, , 8F
01/01 19:04, 8F
→
01/01 19:29, , 9F
01/01 19:29, 9F
→
01/01 19:38, , 10F
01/01 19:38, 10F
→
01/01 20:57, , 11F
01/01 20:57, 11F
→
01/01 22:00, , 12F
01/01 22:00, 12F
→
01/02 10:15, , 13F
01/02 10:15, 13F
→
01/02 10:17, , 14F
01/02 10:17, 14F
→
01/02 10:21, , 15F
01/02 10:21, 15F
→
01/02 10:37, , 16F
01/02 10:37, 16F
→
01/02 10:39, , 17F
01/02 10:39, 17F
→
01/02 18:43, , 18F
01/02 18:43, 18F
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
2
3
以下文章回應了本文:
問題
4
20
完整討論串 (本文為第 2 之 10 篇):
問題
2
3
問題
4
18
問題
4
20
問題
6
25
問題
8
11