| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 946 人关注过本帖
标题:[求助]这句话构造了几个对象?
只看楼主 加入收藏
水影月圆
Rank: 4
等 级:贵宾
威 望:11
帖 子:738
专家分:0
注 册:2005-8-2
收藏
得分:0 
这个是yangwudong发的贴
一开始看到这个问题~我认为是2个对象,分开写就知道了
String abc = new String();
abc = 123;

后来看了 yangwudong 最后的答案后我才知道错了是3个对象
原话为:
公布答案啦!
String abc = new String("123");
这个地方应该是创建了三个对象,大家不要急,应该多试验一下,就知道了!
首先,大家都只到,"123"是一个对象,我就不用说了(注:只是一个临时对象,很快就会被java垃圾回收的)。
其次,new String()这又是创建了一个对象!这个大家应该也都知道!
最后,也就是最有难度的一个地方!String和别的类是不一样的!他的那个“abc”,不是叫做对象的引用,他也是一个对象,大家一定都没有注意过吧!你可以是一下:
String a = "123";
String b = a;
b = b + "1";
System.out.println("a: " + a);
System.out.println("b: " + b);
然后,你可以同理去试验一下其他的类!


http://www.bc-cn.net/bbs/dispbbs.asp?boardid=12&replyid=143347&id=65599&page=3&skin=0&Star=2
在23楼 大家不懂的可以去看看!!

子非鱼,安知鱼之江湖?子非我,安知我之功夫 http://20681.
2006-08-06 01:57
ren829
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:15
帖 子:255
专家分:1174
注 册:2006-3-11
收藏
得分:0 


String abc = new String();
abc = 123;

首先,大家都只到,"123"是一个对象,我就不用说了(注:只是一个临时对象,很快就会被java垃圾回收的)。
其次,new String()这又是创建了一个对象!这个大家应该也都知道!

我怎么觉得好象说反了, 先产生的不是new String()?这个好象应该是临时对象啊? 最终对象不是123吗?

[此贴子已经被作者于2006-8-6 10:59:23编辑过]

2006-08-06 10:58
NiceGirl
Rank: 2
等 级:新手上路
威 望:4
帖 子:909
专家分:0
注 册:2006-6-18
收藏
得分:0 
以下是引用水影月圆在2006-8-6 1:57:36的发言:
这个是yangwudong发的贴
一开始看到这个问题~我认为是2个对象,分开写就知道了
String abc = new String();
abc = 123;

后来看了 yangwudong 最后的答案后我才知道错了是3个对象
原话为:
公布答案啦!
String abc = new String("123");
这个地方应该是创建了三个对象,大家不要急,应该多试验一下,就知道了!
首先,大家都只到,"123"是一个对象,我就不用说了(注:只是一个临时对象,很快就会被java垃圾回收的)。
其次,new String()这又是创建了一个对象!这个大家应该也都知道!
最后,也就是最有难度的一个地方!String和别的类是不一样的!他的那个“abc”,不是叫做对象的引用,他也是一个对象,大家一定都没有注意过吧!你可以是一下:
String a = "123";
String b = a;
b = b + "1";
System.out.println("a: " + a);
System.out.println("b: " + b);
然后,你可以同理去试验一下其他的类!


http://www.bc-cn.net/bbs/dispbbs.asp?boardid=12&replyid=143347&id=65599&page=3&skin=0&Star=2
在23楼 大家不懂的可以去看看!!

水影那个帖子应该是没看完,最终的答案不是这个,这个是错的,不过最终大家都没明确说出答案,不了了之,郁闷。。。后面的继续啊。。。


曾经以为百般艰难,蓦然回首,才发现已飞渡千山。。!
2006-08-06 14:21
ren829
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:15
帖 子:255
专家分:1174
注 册:2006-3-11
收藏
得分:0 
String abc = new String();
abc = 123;

如果这个是产生三个对象的话,那可能就是这样的 abc=null;abc=123;在加上abc本身就是三个,可是 new String();
在内存中产生了对象null? 
2006-08-06 14:57
NiceGirl
Rank: 2
等 级:新手上路
威 望:4
帖 子:909
专家分:0
注 册:2006-6-18
收藏
得分:0 
楼下继续。。。

曾经以为百般艰难,蓦然回首,才发现已飞渡千山。。!
2006-08-06 22:00
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
String a = new String("abc")
既然创建了a,就拿着a用,至于JAVA内部如何收回垃圾就是对象销毁的时候,这个不用我曹(那个字出不来)心地

[此贴子已经被作者于2006-8-7 23:39:41编辑过]


好累
2006-08-07 23:37
快速回复:[求助]这句话构造了几个对象?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012067 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved