黑马程序员技术交流社区

标题: 几道Java面试题 [打印本页]

作者: 杨旭    时间: 2011-12-12 13:15
标题: 几道Java面试题
本帖最后由 杨旭 于 2011-12-13 08:55 编辑

1.
String E = new String("aaa");

String F = new String("aaa");

这是创建了几个对象

2.
String A, B;

A = "abc";

B = "abc";
这是创建了几个对象

3.
String A, B, C;

A = "abc";

B = "abc";
B = new String("bcd");
这是创建了几个对象

4.
String A, B;

A = "abc";

B = "abc";

B = new String("bcd");

String D = B;
这是创建了几个对象

5.
TestClass tc = new TestClass();

TestClass tc1 = new TestClass();

tc = new TestClass();
哪句执行垃圾回收

想各种办法去验证你的答案 要给出解释
作者: 刘基军    时间: 2011-12-12 14:20
我的答案:3,1,3,3,第三句。
验证工具:我的大脑
个人理解,继续关注,
作者: 李明    时间: 2011-12-12 14:20
1.
String E = new String("aaa");

String F = new String("aaa");

创建了三个对象。“aaa”是一个,还有另外两个副本,一共三个

2.
String A, B;

A = "abc";

B = "abc";
创建了一个对象 "abc"

3.
String A, B, C;

A = "abc";

B = "abc";
B = new String("bcd");
创建了三个对象 ,"abc" "bcd"和副本。

4.
String A, B;
A = "abc";
B = "abc";
B = new String("bcd");
String D = B;
同上创建了三个对象

5.
TestClass tc = new TestClass();

TestClass tc1 = new TestClass();

tc = new TestClass();
第三句,tc变量指向了新的对象,第一句创建的对象没有引用指向它,就会被当做垃圾回收。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2