Java面试八股之super()和this()的区别

  1. super()和this()的区别

super()

目的:super()用于从子类的构造方法中调用父类(超类)的构造方法。这是为了确保父类的初始化操作得以执行,因为子类继承了父类的属性和方法,可能需要先设置好父类的状态。

位置:super()调用必须是子类构造方法中的第一个语句。如果不显式调用,编译器会自动插入一个无参数的super()调用。如果父类没有无参构造函数,且子类构造函数没有显式调用带有相应参数的super,则会导致编译错误。

访问权限:它帮助子类访问父类中被保护或私有的成员,前提是遵循访问权限规则。

this()

目的:this()用于在一个类的构造方法中调用本类的另一个构造方法。这有助于减少代码重复,提高效率,使得多个构造方法可以共享相同的初始化代码段。

位置:同样地,this()调用也必须是构造方法的第一个语句。在一个构造方法中只能调用一个this(),不能同时调用this()和super()。

用途:它主要用于构造器链,即通过一个构造器调用本类中的另一个构造器,以实现不同构造参数情况下的初始化逻辑复用。

总结

调用对象不同:super()调用父类构造方法,而this()调用本类的其他构造方法。

位置限制:两者都要求在构造方法的首行使用。

目的相似但不相同:两者都是为了重用已有的构造逻辑,减少代码重复,但super()侧重于继承关系中的父类初始化,this()侧重于同一类中构造方法间的调用。

 如果大家需要视频版本的讲解,欢迎关注我的B站:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/701647.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【基于detectron2训练数据集】

基于detectron2训练自己的数据集 1. 首先下载官方提供的baloon数据集2. 转换成detectron2的格式3. 训练4. 测试与评价 1. 首先下载官方提供的baloon数据集 import wget from zipfile import ZipFiledef progress_bar(current, total, width80):progress current / totalbar …

rockchip ARM TrustZone

系统架构 分为安全世界和非安全世界。Loader、Trust 运行在安全世界;U-Boot、kernel、Android 运行在非安全世界里(安全的 driver、APP 除外)。 “hypervisor”常见释义为“管理程序”“虚拟机监控器”“超级监督者”。 它是一种可以创建、…

C#发送邮件

C#发送邮件代码,亲测可用。 using System; using System.Net; using System.Net.Mail;namespace MailSend {class Program{static void Main(string[] args){try{MailAddress receiver new MailAddress("666666666qq.com");//666666666qq.com 换成收件人…

天花板复合材料热释放率检测 ISO 5660-1燃烧试验

ISO 5660-1标准简介 ISO 5660-1是国际标准化组织(ISO)制定的一项关于燃烧试验的标准,专门用于测量材料在火灾条件下的热释放率、烟雾产生量和质量损失率。该标准的第1部分主要关注热释放率的测量和评估,是对材料在火灾条件下反应的…

桌面记事软件除了记事本还有什么

在忙碌的工作日,我的桌面总是堆满了各种文件、资料,还有贴满便签的记事本。每次需要查找某个信息或者确认接下来的计划时,我都要在杂乱的桌面上翻找好一会儿,这让我感到非常烦恼。 有一天,我急着找一个之前记录的重要…

地理信息科学中的大数据挑战

在信息化爆炸的时代,地理信息科学(GIScience)正经历着前所未有的变革,其中,地理空间大数据的涌现为科学研究与应用带来了前所未有的机遇与挑战。作为地理信息与遥感领域的探索者,本文旨在深入剖析地理空间大…

java面试整合全套

什么是Java (定义 优点) java是一个平台,由jvm和Java应用编程接口构成的一门面向编程语言。 不仅吸收了C语言的各种优点,还摒弃了c语言里面的多继承,指针等概念,因此java的特征主要有功能强大和简单易用的特征。 jav…

HarmonyOS(33) @LocalStorageProp使用指南

LocalStorageProp使用指南 说明使用示例参考资料 说明 不同于LocalStorageLink与LocalStorage建立的双向同步关系,LocalStorageProp装饰的变量与LocalStorage中给定属性建立单向同步关系。LocalStorageProp(key)是和LocalStorage中key对应的属性建立单向数据同步&a…

深入浅出通信原理 | 通信系统中的性能指标评估

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、通信系统中的性能指…

uniapp学习(001 前期介绍)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第1p-第p10的内容 简介 目录结构 效果 打包成小程序 配置开发者工具 打开安全按钮 使用uniapp的内置组件…

linux-计划任务

作用:定时自动完成特定的工作 计划任务的分类 一次性的计划任务:例如下周三对文档的重要文件备份一次 周期性的计划任务:每天12:00创建一个文件 命令 一次性的任务计划 at batch 周期性计划任务 crontab anacron 一次性计划任务 …

JVM (四)GC过程

一。概述 程序计数器、虚拟机栈、本地方法栈都是随线程生灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,内存垃圾回收主要集中于Java堆和方法区中。 GC整体流程示意图: ① 年轻代对象的移动…

HyperAI超神经 x MoonBit | 与中科院、Intel 等专家共话基础软件前沿发展与期待

本次 Meetup 将讨论 MoonBit 编程语言、RuyiSDK、WAMR和 RISC-V 等技术,来现场参与不仅可以学习到最前沿的技术知识,更可与大咖面对面互动交流心得,还有美食茶歇与精美礼品,期待你的到来! 扫码立即报名 ⬇️ 活动详情…

泛微证券行业数据中心方案:打造多样化的数据收集、汇总、分析、决策一体化报表

证券企业在日常办公、业务开展时,涉及了诸多数据需求,而且数据来源于多部门、多个系统。需要对数据获取、汇总、展现进行高效、可视化的操作,高效利用数据价值,助力企业运营更高效、风险更可控。 泛微基于证券行业数字经营分析的需…

数据中台:生产制造产业链的“智慧大脑”!

在当今激烈竞争的生产制造领域,数据中台正扮演着至关重要的角色,它就像是产业链的“智慧大脑”,引领着产业的发展方向!数据中台在生产制造产业链、生态链中起到以下关键作用: 1. 数据整合与共享:将产业链各…

中国大模型站起来了!甚至被美国团队反向抄袭

一直以来,美国是公认的AI领域强者,我国AI技术虽然差不多,但始终落人一步。然而,近日斯坦福团队的AI模型却被指控抄袭中国AI模型,这下许多人都坐不住了。 被实锤抄袭的,是斯坦福大学AI团队,他们…

UE 像素流与 Web 协同开发

UE 像素流与 Web 协同开发 创建Web端应用Web向UE发送消息emitCommandemitConsoleCommandemitUIInteraction UE接收Web的消息UE向Web发送消息Web接收UE的消息UE 冻结帧 与Web交互主要涉及两个方面,一个是UE向Web发送消息,另一个就是Web端向UE程序发送消息…

功率 MOSFET、其电气特性定义

本应用笔记介绍了功率 MOSFET、其电气特性定义和使用说明。介绍了功率MOSFET的破坏机制和对策及其应用和电机驱动应用。 电气特性定义及使用说明 功率 MOSFET 额定值 导通电阻R_DS(on)与耐压V_DSS的关系 图2表示耐压VDSS20~100V额定元件与导通电阻R_DS(on)之间的…

如何理解质量

早年写过一篇未发表的论文《质量的相对性》,就是为了寻求到底什么才是质量这个问题的答案。现在,在准备了诸多超越以往的认知的概念之后,关于质量是什么的想法,也逐渐有了眉目。 质量有两种,一种叫做惯性质量&#xff…

使用OpenLLM在AMD GPU上的分步指南

Step-by-Step Guide to Use OpenLLM on AMD GPUs — ROCm Blogs 引言 OpenLLM是一个开源平台,旨在促进大型语言模型(LLMs)的部署和使用,支持多种模型,适应不同的应用,无论是在云环境还是本地环境中。在本教…