java 继承之super关键字

我们现在一个包下新建三个类
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.变量名 既为 拿取父类变量

猜你喜欢

转载自blog.csdn.net/weixin_45966674/article/details/125952689