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关键字调用的是本类构造函数
网友评论