黑马程序员技术交流社区

标题: 请问,这个程序创建了几次对象 [打印本页]

作者: hehaiwei    时间: 2016-3-13 16:52
标题: 请问,这个程序创建了几次对象
public static void demo() {
        String s1 = new String("abc");
        }

如题


作者: flynihao53    时间: 2016-3-15 12:37
两次,s1是一个引用变量,new String才是在堆中创建一个对象,“abc”是常量,放在常量池中,换句话说,常量池中的“abc”本身也是一个对象,会把这个对象复制给堆,而s1指向的是堆的地址值,通过这个地址值就可以找到abc
作者: ameanboy    时间: 2016-3-15 22:41
字符串在java中作为常量处理,所以其实只有一个字符串常量,和一个引用
求大神分析
作者: kelin410    时间: 2016-3-16 10:13
不明白!!!!
作者: little_bear123    时间: 2016-3-16 10:19
楼上正解,确实是两次,这个JAVA基础有讲的。
作者: zxw    时间: 2016-3-16 16:28
两次   




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