作者SuperNeo (潜水初号机)
看板java
标题Re: [问题] new 语法的疑问
时间Fri Jan 1 18:38:15 2010
: : 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)
自制鸟图解: __________
∣________∣ new
(指标?)c1--> ∣_Circle_∣---------
↑ ∣________∣ ∣
∣ ∣________∣ ∣
∣ ↓
∣ Circle的物件
∣ ________
∣ | |
---------------------| |
把Circle物件指向c1 (=?) |________|
我理解是这个样子 不知是不是了-_-"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.41.129.216
1F:→ johnhmj:JAVA没有指标,所以不要把指标的观念带入JAVA… =_=||| 01/01 18:42
2F:推 brianhsu:reference 的本质就是指标啊。XD 01/01 18:47
3F:→ johnhmj:JVM遇到new时,会配置一块记忆体(向作业系统借记忆体) 01/01 18:52
4F:→ SuperNeo:所以reference 还是不知他有没有作用-_- 晕 真难懂 01/01 18:58
5F:→ johnhmj:根据class的内容在这块记忆体内建立 cl 物件的实体。 01/01 18:58
6F:→ erotic:学Java就要用Java的术语,一直在那边指标来指标去... 01/01 19:03
7F:→ johnhmj:class类别不吃记忆体,经过new生成的物件才有吃记忆体~ 01/01 19:04
8F:→ johnhmj:JAVA不用指标基本上是为方便,指标工作是丢给JVM去做的~ 01/01 19:09
9F:→ SuperNeo:那为什麽不要 c1 = new Circle; 这样子就好 还要多加... 01/01 19:11
10F:→ johnhmj:因为JAVA是源自於C++,C++:Circle* cl = new Circle(); 01/01 19:14
11F:→ SuperNeo:有概念了 感谢几位帮忙解答 非常感谢 01/01 19:17
12F:→ ogamenewbie:Java源自於C++的说法是哪来的? 01/01 19:27
13F:→ adrianshum:@erotic: 我是故意写指标的,叫ref 容易混淆 01/01 19:31
14F:→ erotic:并非每个Java初学者都有学过C,会混淆的话,那是个人问题 01/01 21:05
15F:→ adrianshum:楼上:指标字面意思比 reference/参考 清楚得多 01/01 21:59
16F:→ erotic:我说过了,那是个人问题,你清楚,别人未必清楚,谢谢指教 01/01 22:03
17F:→ qrtt1:每本书有不同的描述方式,为什麽版友不能有不同的描述角度!? 01/01 22:04
18F:推 rofellosx:c没物件概念吧.... 01/01 22:55
19F:推 dendrobium:C要写成oo也行吧,只是很麻烦 01/02 05:39
20F:推 brianhsu:C 的 OO 请参考 GTK+,经典范例。:p 01/02 08:21