当子父类中的成员变量同名时,要表示父类的成员变量,可以使用super关键字来标识。
但是一般开发不常见,因为父类已经定过了变量,子类extends过来的使用即可,不需要在重新定义。下面来看一个有趣的例子吧.
class FuTest
{
int num = 4;
}
class ZiTest extends FuTest
{
//第一处
int num = 5;
public void show()
{
//第二处
int num = 6;
System.out.println(super.num);//输出的是4
System.out.println(this.num);//输出的是5
System.out.println(num);//输出的是6
}
}
class MemberVariableOfExtends
{
public static void main(String[] args)
{
ZiTest z = new ZiTest();
z.show();
}
}
如果去掉①的话,输出的结果为4 4 6
如果去掉②,输出的结果为4 5 5
如果将①和②都去掉的话,输出的结果为4 4 4
this代表的是本类的对象。
super代表的是父类的存储空间。是一个对父类的标识。
参数的值是就近取的。加上了不同的标示符则有不同的规则。
有关静态成员就不多说了,你在下边动动小手吧。