黑马程序员技术交流社区

标题: 关于this和super [打印本页]

作者: qq8921310    时间: 2014-9-26 22:03
标题: 关于this和super
今天看到了继承,毕老师视频里说这两个都在 方法区里。我记得在对象的调用过程那一个视频里说的this在栈内存里。到底在哪里?谁能解答一下。
作者: qq8921310    时间: 2014-9-27 09:35
为什么一个人都没有啊。问题有问题?
作者: yueyazhishang    时间: 2014-9-27 10:27
this,super作用是相似的,this代表的是本类的对象,super代表的是父类的对象。既然作用原理都相同,那么其在内存中的规律也当然相同,这是一种学习方法,个人理解。
作者: qq8921310    时间: 2014-9-27 18:37
yueyazhishang 发表于 2014-9-27 10:27
this,super作用是相似的,this代表的是本类的对象,super代表的是父类的对象。既然作用原理都相同,那么其 ...

那到底在哪里呢?
作者: 潘杰    时间: 2014-10-4 12:03
创建对象时,其实对象中可以理解成有两块区域的,一块是super,是从父类继承过来的部分,还有一块是this,是子类特有的方法和属性。这样理解会比较好懂一些
作者: Lady_杨    时间: 2014-10-4 19:52
在调用方法前,方法是存在方法区里的,this关键字代表当前类,就已经存在的,等到调用到相应的方法时,方法会进栈。这时候会有相应的赋值一类的操作,用this和super关键字进行区分是父类的成员还是子类的成员。整个过程都是存在的。只是在进栈后才真正体现关键字的作用,这是我个人理解,如有不对,请指正。
作者: new999    时间: 2014-10-5 11:17
this:哪个对象调用这个方法this就是它;super:父类的...
作者: 哈李波特    时间: 2014-10-5 16:12
加油。。。
作者: 光头强    时间: 2014-10-5 21:27
this在栈中 , 但是this代表的是当前对象的内存地址值 , 也就是堆中对象的地址----如有不对 , 请指正
作者: 迷失的小Z    时间: 2014-10-9 18:14
this 是在方法区吧……进栈内存的应该是建立的对象吧……   完了混乱了……




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