本帖最后由 周世阳 于 2012-8-9 12:53 编辑
在Java里面,引用是指向对象的,引用本身是对象么?
因为这里设计到一个题目
String s = new String(“abc”)会新建几个对象?
假设栈的字符串池里没有“abc”,则会新建一个“abc”字符串,并在堆上new一个String对象,标准答案是2个,但有2种解答
1).栈上一个匿名对象,即“abc”,堆上一个new对象。
2).引用是一个对象,new是一个对象,多所以是两个。
但实际上如果栈上和引用都算了对象,那么答案应该有3个:少数人支持的答案。
我认为栈上的不能算对象,栈上的字符串池是java针对字符串的一种优化,并不是真的对象(除非到了jdk9)。
现在的问题是引用呢?引用算不算对象?有没有人有研究过知道的,解答下
|
|