Java-super的使用

super

【介绍】

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

【作用及语法】

  1. 访问父类的属性,但不能访问父类的private属性。-----super.属性名;

  2. 访问父类的方法,不能访问父类的private方法。--------super.方法名(参数列表);
    假如B类继承于A类,A类有有一个公共的方法cal(),而B类没有这个同名方法,那么通过B类的某个对象可以有三个方法访问这个方法:
    (1)cal(); //由于本类没有这个同名方法,则往父类找这个方法
    (2)this.cal();//基本同cal();
    (3)super.cal();//super直接跳过本类,往上面的父类找,直到Object类

  3. 访问父类的构造器:super(参数列表);只能用于子类构造器中的第一句语句,而且只能出现一次。

  4. super的访问不限于直接父类,如果爷爷类和本类中有同名的成员,也可以使用super去访问爷爷类的成员;如果多个基类中都有同名的成员,使用super访问遵循就近原则和访问权限的相关规则。

【super与this的区别】

相同的地方:

  1. 它们都是用来访问类中的属性、方法和构造器

  2. 虽然this是从本类开始找,而super从父类开始找,但是它们若在开始的类中找不到,都会循着继承关系往上级父类继续查找,直到找到第一个同名属性方法或构造器,若它可以访问,则访问;若不可以则报错。或继续找直到Object类。

Java-super的使用

Java-super的使用

上一篇:springboot访问限流(转)


下一篇:Java从零开始-06