黑马程序员技术交流社区

标题: this和super的区别 [打印本页]

作者: 你好,师姐    时间: 2016-12-2 01:09
标题: this和super的区别
this是什么?this代表本类对应的引用
比如说吃饭这个方法它是由上帝来定义的,世界上所有的人来执行。吃饭这个行为发生的时候,主体就是在吃饭的这个人,也就是要有人执行吃饭这个行为。有时候我们需要在一个行为(方法)里,能够明确知道这个行为是谁来执行的,确切的说就是我要知道谁在吃饭。
public void eatSomthing(){
System.out.println( this.eat );
}
在我们定义的每一个方法里,都会有一个this关键字,这个this关键不由在那儿定义来决定的,而是由谁来执行的决定的。这是判断this的关键。

super是什么?super代表父类存储空间的标识(可以理解为父类引用)
调用父类的属性,一个类中如果有int x属性,如果其子类中也可以了int x属性的话,在子类中调用父类的x属性时,应使用 super.x = 6,表示该x是引用的父类的属性,而要表示子类中的x属性的话,使用this.x。
Java里的子类中用super调用父类构造函数时,调用的函数必须放在子类的第一条语句的位置。
作者: xyy222    时间: 2016-12-2 01:23
看看......
作者: FAN8210    时间: 2016-12-2 06:57
解释的好详细

作者: peng84    时间: 2016-12-2 08:08
sun公司是上帝吧,哈哈

作者: 不常来多担待    时间: 2016-12-2 16:49
好流利的说!!不过this和super只要知道怎么用就行了,不是特别难理解,关键是.........突然发现我啥都不会了!




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