[問題] new 語法的疑問

看板java作者 (潛水初號機)時間14年前 (2010/01/01 15:22), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/10 (看更多)
目前正在自修JAVA,遇到問題只能看書、找良葛格、估狗大師 查完之後還是不太了解 new 的語法 僅知如: Circle c1 = new Circle(); // 建立Circle類別的副本,名字是c1 但是下面這行就讓我亂掉了 Shape c2 = new Circle(); // 這行我無法用中文翻譯-_- 所以我想弄懂的是 最前面的 Circle、Shape 跟最後面的Circle、Shape 各代表什麼意思 A c1 = new A(); 2個A分別代表的意思 例如:前面的A是參考物件 後面的A是??? 附上 此範例程式碼 abstract class Shape{ public double x ; public double y ; abstract void area(); } class Circle extends Shape{ public double r ; public Circle(double x,double y, double r){ this.x = x ; this.y = y ; this.r = r ; } public void area(){ System.out.println("圓面積: " + 3.1416 * r *r); } } public class Ch6_2_2{ public static void main(String[] args){ Circle c; Circle c1 = new Circle(5.0 , 10.0 , 4.0); Shape c2 = new Circle(10.0 , 10.0 , 7.0); System.out.println("圓形c1的資料 ===="); System.out.println("X座標:"+c1.x); System.out.println("Y座標:"+c1.y); System.out.println("半徑"+c1.r); c1.area(); if (c2 inistanceof Circle) System.out.println("----->c2為Circle 類別副本"); System.out.println("圓形c2的資料 ===="); System.out.println("X座標:"+c2.x); System.out.println("Y座標:"+c2.y); // 這下面這行的型別轉換也不太懂加入(Circle)的意思 // 查型別轉換的資料,都是寫字串轉數值、數值轉字串 c = (Circle) c2; System.out.println("半徑"+c1.r); c2.area(); } } 程式碼是手key的,有錯字請見諒 -_- 因為看到字串的宣告部份又出現可怕的new運算子 所以才回頭用上述的前範例發問。 下面是陣列部份遇到不知差別在哪的語法: //宣告一個int陣列 叫temp int[] temp; //宣告一個int陣列 叫tips 並放入3個元素 int[] tips = {100,200,500}; //宣告一個倍精準的陣列"副本"? 叫scores。 並宣告他有5個元素? double[] scores = new double[5]; 不懂為何這理要多一個new運算子 -----------------------------抱怨分隔線---------------------------- 認識的朋友 都是C# .NET派流,所以自修的頗辛苦 加上英文又破,只要連結是英文的就沒耐心看完他。-_-" 目前自修的書是 "Java2 程式設計範本 陳會安著" 一直在Console地方排迴,字串章節部份 突然又 暴增一堆語法實在很難消化…也記不起來 Orz 到現在連個自用小零用金的應用程式也寫不出來 但直接跳SWING章節 又太多看不懂的地方 實在是很沒自信心如何能coding出東西… -----------------------------抱怨分隔線---------------------------- 麻煩前輩指點new運算子的語法 萬分感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.129.216

01/01 16:27, , 1F
在類別的章節應該會提到,如果沒提到,就代表這本書沒深度
01/01 16:27, 1F

01/01 16:51, , 2F
學習新語言我都會自己交叉實驗CHECK理面的值怎麼跑 @@~
01/01 16:51, 2F

01/01 22:38, , 3F
因該是你理解錯誤...
01/01 22:38, 3F
文章代碼(AID): #1BFQApqd (java)
討論串 (同標題文章)
文章代碼(AID): #1BFQApqd (java)