这个是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楼 大家不懂的可以去看看!!
一开始看到这个问题~我认为是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.