JavaSE--this和super关键字
写在前面:本文旨在巩固自己的基础,以及对自己学习的总结。
在Java中this和super极其相似,它们都代表了某个类的引用,只是指向不同。this代表了本类的引用;super代表了父类的引用。(其实说的更准确一些:super是代表了父类存储空间的标识)
下面用一张表格将this和super区分开来:
this | super |
---|---|
this.成员变量 (访问本类成员变量) | super.成员变量 (访问父类成员变量) |
this.成员方法 (访问本类成员方法) | super.成员方法 (访问本类成员方法) |
另:关于this
1:用this修饰的变量表示成员变量;
2:当成员变量与局部变量重名时,使用this;
3:this代表所在类的对象引用。(方法被哪个对象调用,this就代表哪个对象)
下面再用一段代码将this和super区分开来:
//定义一父类
public class Fu {
int num = 10;
}
//定义一个子类
public Zi extends Fu {
int num = 20;
public void show() {
int num = 30;
System.out.println(num);
System.out.println(this.num);
System.out.println(super.num);
}
}
//定义一个测试类
public class test {
public static void main(String[] args) {
Zi zi = new Zi();
zi.show();
}
}
上面代码输出结果依次是:30,20,10。
完!