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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ithmC4 中级黑马   /  2014-4-13 11:07  /  961 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ithmC4 于 2014-4-13 18:57 编辑

this指的是当前对象的引用,只有类被创建实例的时候才有能用。
super可以在子类中用来指向父类,使用在子类中被覆写的父类方法。
我看到资料说:
this是引用,而super虽然相当于引用,但却只是个关键字。
①为什么?
②this和super是用来指示编译器的还是在运行时存在的?
谢谢啦

4 个回复

倒序浏览
①为什么?  答:这两个的用法可以说没啥区别,this是相当于子类实例化的对象,而super相当于他的父类实例化的对象
②this和super是用来指示编译器的还是在运行时存在的?
谢谢啦      答:既然是相当于对象了,肯定是在运行时存在
回复 使用道具 举报
this和super只是方便用来指向用的,this指向当前对象,super指向当前对象父亲
因为在一个继承了父类的子类中,子类有时候可以使用父类成员或者父类方法,所以通过标识符this或者super标识或者识别是子类的还是父类的仅此而已。
他们应该是对象已建立就存在的。
其实不必纠结这个,知道this指向当前对象,super指向父类对象就够了
回复 使用道具 举报
This():当前类的对象,super父类对象。
Super():在子类访问父类的成员和行为,必须受类继承规则的约束
而this他代表当前对象,当然所有的资源都可以访问.
第一问题:它们是引用:一个指向当前对象和当前对象的父类对象的引用,也就是对象在内存中的地址
第二个问题:当一个对象建立完毕,那么它的this和super就产生了也就是说可以使用了!
回复 使用道具 举报
this
通常指当前对象,
super
则指父类的。当你想要引用当前对象
的某种东西,
比如当前对象的某个方法,
或当前对象的某个成员,
你便可以利用
this
来实现这个目的,当然,
this
的另一个用途是调用当前对象的另一个构造
函数,这些马上就要讨论。
  
this
只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出

this
  
super
关键和
this
作用类似,是被屏蔽的成员变量或者成员方法或变为可见,
或者说用来引用被屏蔽的成员变量和成员方法。

不过
super
是用在子类中,
目的是访问直接父类中被屏蔽的成员,
注意是直接父
类(就是类之上最近的超类)。

本人菜鸟一只,请多赐教
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马