[問題] new 語法的疑問
目前正在自修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
01/01 16:51, 2F
推
01/01 22:38, , 3F
01/01 22:38, 3F
討論串 (同標題文章)