基本语法:

1.访问父类的属性,但是不能访问父类private属性,使用例子 super.属性名;

2.访问父类的方法,但是不能访问父类private方法,使用例子super.方法名(参数列表);

3.访问父类的构造器,super(参数列表),只能放在构造器中第一句,只能出现一句,另需要注意的是不能和this()同时使用,因为两者都必须在构造器中第一句,同时使用会发生冲突。

4.super的访问不限于直接父类,如果爷爷类和本类中具有同名的成员,也可以使用super去访问爷爷类的成员,使用super访问遵循就近原则。son->father->grandpa

虽然不能通过super直接访问父类的属性和方法但是可以通过在父类中构造公共方法对父类的私有属性和方法进行间接访问。

super关键字带来的遍历和细节:

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

2.当子类中有和父类的成员(属性和方法)同名时,为了访问父类的成员,必须通过super访问,如果没有重名通过super,this,以及直接访问得到的结果都是一样的。

继承中访问属性和方法,找到但不能访问会提示cannot access

如果没有找到会提示属性不存在