基本介绍

super 代表父类的引用,用于访问父类的属性、方法、构造器

基本语法

1.访问父类的属性,但不能访问父类的private属性

        super.属性名;

2.访问父类的方法,不能访问父类的private方法

        super.方法名(参数列表);

3.访问父类的构造器

        super(参数列表);只能放在构造器的第一句,且要出现也只能出现一句!

super使用细节

                super给编程带来的便利/细节

                1.调用父类的构造器的好处(分工明确,父类属性由父类初始化,子类的属性由子类初始化)

                2。当子类中有父类中的成员(属性和方法)重名时,为了访问父类的成员,必须通过super,如果没有重名,使用super,this,直接访问是一样的效果!

class A{
    public void say(){
        System.out.println("A say~~");
    }
}

class B extends A{
    public void test(){
        //say();
        this.say();
        super.say();
    }
}

                  3.super 的访问不限于直接父类,如果爷爷类和本类中有同名的成员,也可以使用super去访问爷爷类的成员;如果多个基类(上级类)中都有同名的成员,使用super访问遵循就近原则 A->B->C     

super 和 this 的比较

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐