作者SuperNeo (潜水初号机)
看板java
标题[问题] new 语法的疑问
时间Fri Jan 1 15:22:24 2010
目前正在自修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
1F:→ erotic:在类别的章节应该会提到,如果没提到,就代表这本书没深度 01/01 16:27
2F:推 Yshuan:学习新语言我都会自己交叉实验CHECK理面的值怎麽跑 @@~ 01/01 16:51
3F:推 rofellosx:因该是你理解错误... 01/01 22:38