作者fbukevin (Veck)
看板java
标题[问题] new不new的差别?
时间Tue Sep 7 21:31:58 2010
我有一个观念上的瓶颈
因为我是从学C开始接触程式语言的
所以第一次接触到物件导向之後
只是跟着书上的方法把Class用new实体出物件
但是最近却发现
好像我如果做了一个Class A
除了用 A a = new A();
也是可以直接像宣告变述那样 A a;
而且也是可以使用 "a.类别成员"
那为什麽还需要new呢?
这两个到底有什麽差别?
new不new有差吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.46.84.82
1F:→ brianhsu:一个在 Stack 上,一个在 Heap 上,生命周期不一样。 09/07 21:37
2F:→ fbukevin:那各别在什麽时候使用呢? 09/07 21:43
3F:→ james732:你确定 A a; a.成员; 这样在执行的时候没有问题吗 XD 09/07 21:44
4F:→ elenaser:他应该是有用static吧? 09/07 21:45
5F:→ brianhsu:我忽然发现,这里是 Java 版,不是 C_CPP 版,请无视我 09/07 21:49
6F:→ tkcn:A a; 并不会建立物件,a 只会指向 null。 09/07 21:50
7F:→ brianhsu:的推文。XDDD 09/07 21:50
8F:→ tkcn:我刚刚也一度怀疑这里不是 Java 板 XD 09/07 21:52
9F:→ elenaser:他应该是想表达类别方法跟实体方法差别在哪 09/07 21:52
10F:→ fbukevin:刚刚试过,好像是我搞错,不能a.成员 09/07 21:55
11F:→ fbukevin:但是像 int 不是也是一种类别吗?为啥就可以直接 int a? 09/07 21:57
12F:→ elenaser:我回一篇给你 我先去下载排版器 09/07 21:57
13F:→ remmurds:应该是对於实体型别和参考型别的观念不够熟 09/07 23:04
14F:→ nvidia:............................. 09/07 23:38
15F:→ nvidia:我看你连C也不熟 09/07 23:39
16F:→ jaw109:C没有new 09/08 00:13
17F:→ hilorrk:C++和Java的意思是不一样的... 09/08 01:22
18F:→ nvidia:C有static 09/08 07:05