黑马程序员技术交流社区

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

作者: bfl625    时间: 2014-8-31 19:02
标题: 关键字super和this
this :对象的引用(谁调用就代表谁)
使用this关键字引用成员变量。
使用this关键字在自身构造方法内部引用其他构造方法。 (只可以写在构造函数的第一行哦!)
使用this关键字引用成员方法
this关键字也可以调用父类的方法,this关键字调用方法时,会首先在子类中找,如果没有找到,会去父类中找。

super :当前对象里面的父类的引用。
在子类的构造方法内部引用父类的构造方法。 (只可以写在构造函数的第一行!)
在子类中调用父类中的成员方法。
在子类中调用父类中的成员变量。

在构造函数中,不可以同时显示的调用子类的其他构造方法和父类的构造方法,因为他们都需要写到第一行,起冲突。


作者: 忆梦追风    时间: 2014-8-31 23:35
嗯,走过看过,楼主继续多发点
作者: ___瘦不了    时间: 2014-8-31 23:54
内容再多点就更好了
作者: bullfrog    时间: 2014-9-1 00:07
this关键字也可以调用父类的方法,this关键字调用方法时,会首先在子类中找,如果没有找到,会去父类中找。
这句话说得好像不对吧,this是调的本类方法,因为子类继承了父类的所有成员,所有子类中实际上是有这个方法的,不是“没找到”。
作者: 粺¹³¼畅    时间: 2014-9-1 00:07
不错,看看。
作者: 低调小邦    时间: 2014-9-1 00:10
了解。。。。
作者: liqi    时间: 2014-9-1 00:14
复习一遍
作者: 臭和尚    时间: 2014-9-12 10:55
总结:在一个类中如果方法中的局部变量和方法外的成员变量重名,那么如果在方法内输出这变量,就是方法
                     自己的变量里的值,想要区分要用this,加上this.就是输出成员变量的值
                         在子父类中如果出现成员变量重名的时候,在子类输出会输出自己的变量里的值,想要区分要用super,
                         加上super.就是输出父类里变量的值

                      this和super的区分:
                      **this代表本类对象的引用
                        super本类对象父类的引用。
                      **this可以用于区分局部变量和成员变量同名的情况。
                        super可以用于区分子类和父类成员变量同名的情况。
                      **一般,子类中不会出现和父类同名的成员变量。
作者: MR.Sun    时间: 2014-9-12 11:06
了解,过来看看再熟悉熟悉!




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