请教一个关于对象创建的问题

Anndy1984 2009-08-21 12:32:56
String A = "a";
String B = "b";
A = A+B;
StringBuffer sb = new StringBuffer("abc");
sb.append("123");

问,上面的语句中一共创建了几个对象???
...全文
76 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wss_scaler 2009-08-25
  • 打赏
  • 举报
回复
没什么问题,6个,可以结贴了。
lovecj6185 2009-08-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 anndy1984 的回复:]
我觉得这位兄弟的解释比较合理,但是我有一点还是不太明白。前面3个语句很好理解,分别创建了“a”,“b”,A+B三个对象。
关键是StringBuffer sb = new StringBuffer("abc"); 这一句究竟是一个对象还是2个对象??首先“abc”应该是一个对象,然后又用了new关键字,按理说也应该有了一个StringBuffer的对象吧???(这里不清楚)

下面又有一个“123”的对象。
所以我有点糊涂,不知道是5个还是6个。
如果我哪里理解有问题,麻烦大家指点一下。

引用 6 楼 lovecj6185 的回复:
修正一下,感觉是5个
"a"
"b"
A+B
"abc"
"123"

A,B,sb不能称为对象
只能说是保存对象引用的变量

[/Quote]

恩,你是对的
偶疏忽了,确实new StringBuffer 也会产生一个对象
那这样的话,就是6个啦
Anndy1984 2009-08-21
  • 打赏
  • 举报
回复
我觉得这位兄弟的解释比较合理,但是我有一点还是不太明白。前面3个语句很好理解,分别创建了“a”,“b”,A+B三个对象。
关键是StringBuffer sb = new StringBuffer("abc"); 这一句究竟是一个对象还是2个对象??首先“abc”应该是一个对象,然后又用了new关键字,按理说也应该有了一个StringBuffer的对象吧???(这里不清楚)

下面又有一个“123”的对象。
所以我有点糊涂,不知道是5个还是6个。
如果我哪里理解有问题,麻烦大家指点一下。

[Quote=引用 6 楼 lovecj6185 的回复:]
修正一下,感觉是5个
"a"
"b"
A+B
"abc"
"123"

A,B,sb不能称为对象
只能说是保存对象引用的变量
[/Quote]
Anndy1984 2009-08-21
  • 打赏
  • 举报
回复
3个的答案肯定是错的,我就不知道是5个还是6个。麻烦达人可以解释清楚一下。
lovecj6185 2009-08-21
  • 打赏
  • 举报
回复
修正一下,感觉是5个
"a"
"b"
A+B
"abc"
"123"

A,B,sb不能称为对象
只能说是保存对象引用的变量
laoqi1999 2009-08-21
  • 打赏
  • 举报
回复
至少3个。java有字符串池的概念
yuaa88 2009-08-21
  • 打赏
  • 举报
回复
哦,明白了,a,b,abc也是
yuaa88 2009-08-21
  • 打赏
  • 举报
回复
3个呀,A,B,sb
lovecj6185 2009-08-21
  • 打赏
  • 举报
回复
6个
shushiyang1990 2009-08-21
  • 打赏
  • 举报
回复
看你声明了几个呗..就3个

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧