黑马程序员技术交流社区

标题: String s = new String("abc"); 建立的两个对象先后问题! [打印本页]

作者: 726477179    时间: 2016-8-12 18:18
标题: String s = new String("abc"); 建立的两个对象先后问题!
String s = new String("abc");   建立两个对象问题,是先建立常量池中的对象,还是先在堆内存中new一个对象? 如果是先在常量池中建立对象,那么传到堆内存中的是“abc” 还是它的地址? 如果是先在堆内存中建立对象,那么传到常量池中的是“abc” 还是它的地址
作者: 695212308    时间: 2016-8-12 18:59
String s = new String("abc")创建了两个对象,首先创建了一个“abc"字符串对象,然后用它作为参数传递进s的构造方法中创建了s对象。在内存中这两个对象是不同的实例,"abc"对象由于没有外部指针指向它,它所占有 的内存最终将在某个时候被虚拟机回收




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