一、super 关键字
1. 基本概念
- super 关键字代表父类的引用,用于访问父类的属性、方法、构造器;
- 基本语法:

- super的注意事项:
- super 虽然代表了父类的引用,但并不完全等同于父类,由于父类中私有变量/方法受到 private 的 限制,所以除了父类自身的方法外,其他所有类都不能访问。因此,super 关键字并不完全等同于父类自身;
- 而this 关键字代表了对象对自身的引用,类自身中的方法访问类中的私有变量/方法时不会受到 private 的 限制,因此this 关键字可以完全等同于对象自己。
- super 的访问不限于直接的父类,如果爷爷类和子类中有同名的成员,也可以使用 super 去访问爷爷类的成员;如果多个父类(上级类)中都有同名的成员,使用 super 访问时遵循就近原则。先是父类,再到爷类,再到祖宗类…
- super的使用细节:

- 注意:
- 在子类的方法中访问父类的属性/方法时,若是使用 this.属性/方法,则会从子类的属性/方法开始查找,子类没有该属性/方法,再查找父类、爷类…
- 在子类的方法中访问父类的属性/方法时,若是使用 super.属性/方法,则会直接从父类的属性/方法开始查找,父类没有,再向爷类…查找;
2. super 和 this 的比较
- 如下图所示:

二、方法重写
1. 基本概念
- 方法重写(覆盖):子类中有一个方法,和父类的某个方法的名称、返回类型、形参列表一样,就说子类的这个方法重写了父类的方法。
- 为什么要引入方法重写:
- 当一个子类继承一个父类时,它同时继承了父类的属性和方法。子类可以直接使用父类的属性和方法,如果父类的方法不能满足子类的需求,则可以在子类中对父类的方法进行重写(或覆盖)。
- 在方法重写时,如果子类需要引用父类中原有的方法,可以使用 super 关键字。当子类重写父类方法后,在子类对象使用该同名方法时,会执行子类中重写的方法。
2. 注意事项和使用细节
如下图所示:
- 对于第3点的解释:子类重写方法的修饰符 >= 父类方法的修饰符。
3. 方法重载和方法重写的比较
如下图所示:
总结
- 本文是小白博主在学习B站韩顺平老师的Java网课时整理总结的学习笔记,在这里感谢韩顺平老师的网课,如有有兴趣的小伙伴也可以去看看。
- 本文详细解释了 super 关键字和方法重写的概念与使用,并深入介绍了使用 super 关键字和方法重写的注意事项和细节,希望小伙伴们看后能有所收获!
- 最后,如果本文有什么错漏的地方,欢迎大家批评指正!一起加油!!我们下一篇博文见吧!
版权声明:本文为weixin_45395059原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。