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

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

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

23 个回复

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