/*
当子父类中有非私有的同名成员变量时,子类要访问本类中的同名成员变量用this引用(一般省略this);
子类要访问父类中的同名成员变量时用super引用
*/
class Fu
{
int num=4;
int MM=55;
}
class Zi extends Fu
{
int num=5;
void show()
{
System.out.println(super.num);//输出父类成员num=4
System.out.println(num);//this.num隐藏了this.表示当前类成员num=5
System.out.println("this.MM的值:"+this.MM+"\nsuper.MM的值:"+super.MM);
//this.MM的值等于super.MM的值。因为MM是子父类的共用属性,只有一份,
//所以无论是this还是super调用该属性都是同一个值。
}
}
class ExtendsDemo
{
public static void main(String[] args)
{
Zi z=new Zi();//创建子类对象时,会先加载父类的class文件,然后再加载子类的class文件(因为没有父类何来子类)
z.show();
}
}
/*
this和super的用法一样。
this代表当前类对象的引用。
super代表父类对象的引用。
*/
|
|