super关键字

super:代表父类空间的引用

使用前提:必须存在继承关系

作用:

    1.父类和子类中出现同名的成员(属性和方法)时,在子类中默认访问的是子类的成员,可以使用super关键字访问父类的成员

    格式:super.属性名;    super.方法名();

    2.在创建子类对象时,会默认调用父类无参的构造函数,可以使用super关键字调用父类指定的构造函数

    格式:super(参数列表);//参数列表的不同对应着父类不同的构造函数

super调用父类构造函数注意问题:

    1.在子类构造函数中,如果没有指定调用父类的构造函数,java编译器会在子类构造函数中加上super()语句

    2.在子类构造函数中使用super关键字调用父类构造函数时,必须位于构造函数的第一个语句

    3.在同一个构造函数中,不能同时出现super和this关键字调用其它构造函数,因为它们都必须位于构造函数的第一个语句

super关键字和this关键字的区别:

    1.代表事物的区别:

        super关键字代表父类空间的引用

        this关键字代表所属函数调用者的对象

    2.使用前提的区别:

        super关键字必须存在继承关系才能使用

        this关键字不存在继承关系也能使用

    3.调用构造函数的区别

        super关键字调用的是父类构造函数

        this关键字调用的是本类构造函数

你可能感兴趣的:(super关键字)