当前位置: 首页 > news >正文

3.0 java中继承中的super作用

一句话总结它的作用:super 代表的是“父类”(或者叫超类、基类)空间,用来在子类中访问父类的成员(属性、方法、构造器)。

1. 使用场景一:用 super 调用父类的构造器(最常用)

当你在 new 一个子类对象时,子类的构造器必须先调用父类的构造器,确保从父类继承过来的属性能够被正确初始化。

🚨 核心规则:隐式调用
如果你在子类的构造器里没有手动写 super(),Java 编译器会在第一行自动帮你加上 super();(调用父类的无参构造器)。

classFather{publicFather(){System.out.println("1. 父类无参构造器被调用");}}classSonextendsFather{publicSon(){// 编译器在这里偷偷加了一行:super();System.out.println("2. 子类构造器被调用");}}

当你 new Son() 时,控制台会先打印 1,再打印 2。

💡 显式调用:父类没有无参构造器怎么办?
如果父类只定义了带参数的构造器,编译器就不会自动加 super() 了。这时子类必须手动显式调用 super(参数),否则编译直接报错。

classFather{StringlastName;// 父类只有带参构造器publicFather(StringlastName){this.lastName=lastName;}}classSonextendsFather{intage;publicSon(StringlastName,intage){super(lastName);// 🚨 必须手动调用父类带参构造器,且必须写在第一行!this.age=age;}}

2. 使用场景二:用 super 区分同名的属性(成员变量)

如果子类起了一个和父类一模一样的变量名,父类的变量就会被“隐藏”。此时如果你想在子类中访问父类的那个变量,就需要加上 super. 前缀。

classFather{Stringname="张三(老爸)";}classSonextendsFather{Stringname="张小三(儿子)";publicvoidshow(){System.out.println(name);// 打印:张小三(儿子) —— 默认就近原则System.out.println(this.name);// 打印:张小三(儿子) —— 显式指定当前子类System.out.println(super.name);// 打印:张三(老爸) —— 🚨 通过 super 突破限制,访问父类}}

3. 使用场景三:用 super 调用父类被重写(Override)的方法

在面向对象开发中,子类经常会重写父类的方法。但有时候,子类并不想完全抛弃父类的方法,而是想在父类方法的基础上进行“功能增强”。

这时就可以用 super.方法名()。

classRobot{publicvoidwork(){System.out.println("开机,开始扫描环境...");}}classCleaningRobotextendsRobot{@Overridepublicvoidwork(){super.work();// 🚨 先让父类做它该做的事(开机和扫描)System.out.println("开始拖地、擦桌子...");// 子类特有的拓展功能}}
http://www.gsyq.cn/news/1619288.html

相关文章:

  • 深海定点监测如何选稳定单点海流计?偶信产品适配复杂海域工况吗?
  • Ubuntu系统Postgres SQL数据库迁移
  • 3步掌握Parabolic视频下载器:免费开源跨平台下载解决方案完全指南
  • VSCode 多项目协同开发:AI编程工具工作区管理的 4 种高效配置方案
  • 西安养老预约小程序搭建,家属实时查看功能开发实操
  • 大模型微调实战:解决过拟合与收敛慢的优化策略
  • 终极指南:如何用GTA5线上小助手提升你的游戏体验
  • CSDN博客下载器终极指南:三步永久保存技术文章
  • 初识C语言——lesson002与003
  • 1971–2025年三大生态功能数据集|水源涵养/防风固沙/土壤保持|20+生态价值指标|30m/250m逐年栅格
  • AI获客培训常见误区:从风口焦虑到长期运营
  • 终极图像修复指南:如何用Resynthesizer让GIMP拥有AI级图像处理能力
  • OpenHarmony dsoftbus快速入门:3步搭建你的第一个分布式应用
  • 第06篇:Transformer 解剖——Decoder-only 是怎么炼成的
  • Docker持续集成实践
  • 层次分析法(AHP)理论、YAAHP软件操作及工程应用
  • #Harmony篇:生成密钥和证书请求文件/申请发布证书和发布Profile文件/打包
  • 阿里云DSW使用
  • 小米穿戴表盘设计终极指南:零代码打造专属智能手表界面 [特殊字符]
  • CQRS命令查询分离
  • AI技术简报如何驱动工程决策:从Newsletter到落地实践
  • OpenClaude:一个终端搞定所有 AI 编程工具
  • 4.数据类型
  • 工业防潮柜行业快讯:中昊芯英发布高性能国产TPU
  • 利用AI助手高效解决IBM MQ AMQ8242E密码套件配置错误
  • 上海炒股升降桌可以定制的有哪些
  • web应用技术--第10次作业
  • 适配投票工具测评,公众号 / 小程序通用盘点
  • API版本管理与兼容性
  • 电动汽车革命:从出行工具到智能能源网