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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

当this在构造函数中被调用去访问其他构造函数时内存会产生对象么?如果产生那么会不会产生两个对象,如果不会,那他的代码又是在哪个内存区域中被执行的?

当在两个构造方法中使用this互相调用时,是死循环么?

23 个回复

倒序浏览
没懂,我的理解是this就是对象,而且是当前对象
回复 使用道具 举报
你把我绕混了,没懂
回复 使用道具 举报
你把我绕混了,没懂
回复 使用道具 举报
只会产生一个对象。调用只是引用的变化,可能是1个参数构造函数和2个构造函数的事,对象是只有一个,参数只是属性的增加。两个构造函数互相调用,肯定是死循环
回复 使用道具 举报
没看懂
回复 使用道具 举报
产生一个对象,this指的是当前对象。
回复 使用道具 举报
来看看  !!!!!
回复 使用道具 举报
后面那个 会报错
回复 使用道具 举报
构造函数是用来初始化成员变量的,只有可能互相复写,不会产生互相调用的情况
回复 使用道具 举报
不会产生俩个对象,是死循环
回复 使用道具 举报
我记得谁调用this,就是谁.
回复 使用道具 举报
this只代表当前对象,两个构造函数之间能互相调吗?
回复 使用道具 举报
   this代表其所在方法所属对象的引用,哪个对象调用方法,方法内部就有一个隐含的this代表这个对象(谁调用,this就代表谁)
回复 使用道具 举报
当在两个构造方法中使用this互相调用时,编译无法通过,这被称为构造函数的递归调用
回复 使用道具 举报
这必定是死循环
回复 使用道具 举报
真正开辟堆内存的是new这个关键字。不是说我执行一个构造函数就产生一个对象。构造函数只是在引用指向之前对这个堆内存进行初始化操作。
回复 使用道具 举报
首先,产生多少个对象 看多少了new,当然单例除外。
this是所在方法所在对象的引用。
因此,this访问其他构造函数,也是本类中的构造函数,
for example
Person(){}
Person(String name){this.name=name}
Person(String name,int age){this(name);this.age=age;}
回复 使用道具 举报
this就是指的当前的对象吧,还能指别的对象?
回复 使用道具 举报
求解答。。。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马