我们现在一个包下新建三个类
Fu父类
参考代码如下
public class Fu {
int age = 40;
}
Zi子类
参考代码如下
public class Zi extends Fu {
int age = 20;
public void show(){
int age = 10;
System.out.println(age);
}
}
text测试类
参考代码如下
public class text {
public static void main(String args[]) {
Zi zi = new Zi();
zi.show();
}
}
很显然 我们调用zi类中的show 而show中输出的age 是直接用变量名输出的 那么他就会输出我们在方法中声明的局部变量
那如果 我们先输出子类自己的成员变量呢?
之前我们做过 直接 this.age 就可以了
我们将 Zi 类的代码改成
public class Zi extends Fu {
int age = 20;
public void show(){
int age = 10;
System.out.println(age);
System.out.println(this.age);
}
}
运行效果如下
那么 如果我们想输出父类的 相信已经有人想到了
那就是我们要将的关键字 super
super.age 即可
我们将 Zi 类的代码改成
public class Zi extends Fu {
int age = 20;
public void show(){
int age = 10;
System.out.println(age);
System.out.println(this.age);
System.out.println(super.age);
}
}
输出结果如下
super.变量名 既为 拿取父类变量