java学习日记20230315-super关键字

SUPER

  • super代表父类的引用,用于访问父类的属性,方法,构造器;
    • 访问父类的属性,但不能访问父类的private属性;super.属性名
    • 访问父类的方法,不能访问父类的private方法;super.方法名(参数列表)
    • 访问父类的构造器super(参数列表),只能放在构造器的第一句,只能出现一句
  • super给编程带来的好处
    • 调用父类的构造器的好处:分工明确,父类属性由父类初始化,子类的属性由子类初始化;
    • 当子类有和父类中的成员重名时,为了访问父类的成员,必须通过super,没有重名,使用super,this,直接访问是一样的效果;
    • super的访问不限于父类,如果爷爷类和本类中都有同名的成员,也可以使用super去访问爷爷类的成员,如果多个基类中都有同名的成员,使用super访问遵循就近原则,遵守访问权限的规则;
    • super和this的比较
      • this访问本类的属性,如果本类没有,则从父类查找;super从父类查找;
      • 调用本类 构造器必须放在首行,super调用父类构造器,必须首行
      • this表示当前对象,super表示子类中父类对象
posted @ 2023-03-17 05:36  、子夜  阅读(19)  评论(0)    收藏  举报