A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王会涛 中级黑马   /  2014-11-16 08:38  /  713 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s2 = new String(“abc”);在内存中是两个对象,那么如果我建立一个Person类,然后实例化,Person p = new Person("lisi",40),lisi代表姓名,40代表年龄,那么这句话在内存中是不是也是两个对象呢?

3 个回复

倒序浏览
应该是,"lisi"也应该会创建一个
回复 使用道具 举报
对象如何在内存中进行开辟空间的,这个过程比较重要。
回复 使用道具 举报
main(){
Person person=new Person();
}

先在main函数的栈中新建变量 person 将Person.class字节码加载到内存中;将Person类的一些方法放进方法区中;
然后再堆内存中开辟一个空间(完成对象的初始化,调用构造函数),并且有地址t1,然后person 变量指向地址t1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马