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

java基础-方法的重写、super关键字

1.定义:子类可以根据需要改写从父类那继承来的方法,执行时,子类的方法会覆盖父类的方法

2.要求:

(1)子类和父类的方法必须同名,同参数列表

(2)父类中private修饰的方法不能被重写

(3)子类中的返回值类型不能大于父类:

细节:

父类的方法为void,子类必须是void;

父类方法的返回值类型是A类型,子类的返回值类型可以是A类或A类的子类

父类方法返回值为基本数据类型,子类方法必须是相同的基本数据类型;

(4)子类中方法的权限修饰符不能小于父类的

(5)子类方法抛出的异常不能大于父类被重写方法的异常

(6)父类中声明为static的方法,在子类中改写不叫重写

3.

(1)super可以用来调用:属性、方法、构造器

(2)super的使用:我们在子类的方法或构造器中,通过使用super.的方式调用父类中的结构,但通常情况下省略super;但是当父子类中定义了同名的属性时,我们要在子类中调用父类中的属性,就要使用super方法;

(3)super调用构造器

我们可以在子类的构造器中使用super(形参列表)的方式,调用父类中声明的制定构造器,必须写在构造器的首行,你不写的话就默认用super()空参构造器,也就是说,你子类中只要有构造器,那肯定会调用其他构造器,可能是this(),可能是super();

(4)子类对象实例化过程:

我们创建一个dog对象,但会自动调用其父类的构造方法,使之属性在堆中加载,此时dog才能调用父类的一些结构

从结果上看:创建子类的对象,在堆空间中,就会加载所有父类中声明的属性;

从过程上看,通过子类的构造器创建子类对象时,一定会直接或间接的调用父类的构造器,直到调用了java.lang.Object类中空参的构造器为止;

明确:虽然加载了父类的属性,但是从始至终我们只创建了一个对象

4.子类继承父类private属性的一些理解:

public class Account {private int id;private double balance;private double annualInterestRate;public Account(int id, double balance, double annualInterestRate){this.id = id;this.balance = balance;this.annualInterestRate = annualInterestRate;}public int getId() {return id;}public void setId(int id) {this.id = id;}public double getBalance() {return balance;}public void setBalance(double balance) {this.balance = balance;}public double getAnnualInterestRate() {return annualInterestRate;}public void setAnnualInterestRate(double annualInterestRate) {this.annualInterestRate = annualInterestRate;}public void withDraw(double amount){if(amount <= this.balance){this.balance -= amount;}else {System.out.println("取款失败");}}public void despoit(double amount){this.balance += amount;}
}
public class CheckAccount extends Account {private double overdraft;public CheckAccount(int id, double balance, double annualInterestRate){super(id, balance, annualInterestRate);}
}
import org.w3c.dom.ls.LSOutput;import java.util.Arrays;public class Main {public static void main(String[] args) {CheckAccount c1 = new CheckAccount(1001, 5000, 0.123);System.out.println(c1.getId());}}在这串代码中,子类调用了父类的构造器,并初始化了父类的属性,初始化完成后,再初始化子类自己的属性,最终传入的值是赋给了创建的子类对象的继承的属性,

注意:子类其实继承了父类的私有属性,但是不能直接用子类对象进行操作,只能使用从父类继承来的公共方法来操作子类的属性;

子类对象的内存结构包含父类的所有属性(即使是私有属性)。必须先初始化父类部分,才能保证对象状态的一致性。

相关文章:

java基础-方法的重写、super关键字

1.定义&#xff1a;子类可以根据需要改写从父类那继承来的方法&#xff0c;执行时&#xff0c;子类的方法会覆盖父类的方法 2.要求&#xff1a; &#xff08;1&#xff09;子类和父类的方法必须同名&#xff0c;同参数列表 &#xff08;2&#xff09;父类中private修饰的方法…...

技术并不能产生一个好的产品

技术是产生一个好的产品充分条件&#xff0c;不是必要条件。 当笔者到了40岁的年龄时间&#xff0c;发现再怎么努力提升技术&#xff0c;也没办法挽救烂的产品设计。 一个好的产品&#xff0c;首先要找准自己的定位&#xff0c;不能动不动就把自己拿一线品牌来比较。 好的产品…...

lubuntu 系统详解

Lubuntu 系统详解&#xff1a;轻量高效的 Ubuntu 衍生版 一、系统概述 定位与背景&#xff1a; Lubuntu 是 Ubuntu 的官方衍生版本&#xff08;Flavor&#xff09;&#xff0c;专注于轻量性与高效性&#xff0c;旨在为低配置设备&#xff08;如老旧电脑、上网本、低配笔记本 …...

《设备管理与维修》审核严吗?“修改后再投”是拒稿了吗?

有过论文投稿经验的朋友&#xff0c;可能在审核后收到过“修改后再投”的回复。有些期刊可能是真的建议投稿人在修改后再投稿&#xff0c;有些则可能是标准的拒稿模板。 《设备管理与维修》审核严吗&#xff1f;收到“修改后再投”的回复该怎么办&#xff1f;下面我就来分享下之…...

2025年5月-信息系统项目管理师高级-软考高项一般计算题

决策树和期望货币值 加权算法 自制和外购分析 沟通渠道 三点估算PERT 当其他条件一样时&#xff0c;npv越大越好...

界面组件DevExpress WPF中文教程:Grid - 如何自定义Band Header外观?

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...

Supabase 的入门详细介绍

Supabase 是什么&#xff1f; 简单来说&#xff0c;Supabase 是一个开源的 Firebase 替代品。它提供了一整套后端即服务 (BaaS - Backend as a Service) 的工具&#xff0c;让你能够快速构建应用程序的后端&#xff0c;而无需自己从头搭建和管理服务器、数据库等基础设施。 S…...

【实战】基于 ABP vNext 构建高可用 S7 协议采集平台(西门子 PLC 通信全流程)

&#x1f680;&#x1f527;【实战】基于 ABP vNext 构建高可用 S7 协议采集平台&#xff08;西门子 PLC 通信全流程&#xff09;&#x1f4ca; &#x1f4d1; 目录 &#x1f680;&#x1f527;【实战】基于 ABP vNext 构建高可用 S7 协议采集平台&#xff08;西门子 PLC 通信全…...

20、map和set、unordered_map、un_ordered_set的复现

一、map 1、了解 map的使用和常考面试题等等&#xff0c;看这篇文章 map的key是有序的 &#xff0c;值不可重复 。插入使用 insert的效率更高&#xff0c;而在"更新map的键值对时&#xff0c;使用 [ ]运算符效率更高 。" 注意 map 的lower和upper那2个函数&#x…...

leetcode 189. 轮转数组

题目描述 代码&#xff1a; class Solution { public:void rotate(vector<int>& nums, int k) {int len nums.size();k k % len;reverse(nums,0,len-1);reverse(nums,0,k-1);reverse(nums,k,len-1);}void reverse(vector<int>& nums,int left,int right…...

得物0509面试手撕题目解答

题目 使用两个栈&#xff08;一个无序栈和一个空栈&#xff09;将无序栈中的元素转移到空栈&#xff0c;使其有序&#xff0c;不允许使用其他数据结构。 示例&#xff1a;输入&#xff1a;[3, 1, 6, 4, 2, 5]&#xff0c;输出&#xff1a;[6, 5, 4, 3, 2, 1] 思路与代码 如…...

8天Python从入门到精通【itheima】-6~10

目录 7节-开发出第一个Python程序&#xff1a; 1.在cmd窗口写下第一个最简单的程序&#xff1a;Hello World!!! 9节&#xff1a; 1.如何卸载python&#xff1a; 2.报错&#xff1a;不是可运行的程序 ​编辑 3.报错&#xff1a;无法初始化设备PRN&#xff1a; 4.报错&…...

Qt —— 使用Enigma Virtual Box将Qt程序打包为独立可运行exe(附:完整打包方法且完美运行)

🔔 Qt 相关技术、疑难杂症文章合集(掌握后可自封大侠 ⓿_⓿)(记得收藏,持续更新中…) 打包结果 1、如下图,准备好Qt已打包后程序文件夹。附 Qt —— 在Windows下打包Qt应用程序(在其他Windows电脑下使用)...

大语言模型RLHF训练框架全景解析:OpenRLHF、verl、LLaMA-Factory与SWIFT深度对比

引言 随着大语言模型&#xff08;LLM&#xff09;参数规模突破千亿级&#xff0c;基于人类反馈的强化学习&#xff08;RLHF&#xff09;成为提升模型对齐能力的关键技术。OpenRLHF、verl、LLaMA-Factory和SWIFT作为开源社区的四大标杆框架&#xff0c;分别通过分布式架构、混合…...

VTK|类似CloudCompare的比例尺实现1-源码分析

文章目录 CloudCompare源码分析void ccGLWindowInterface::drawScale(const ccColor::Rgbub& color)&#x1f9e9; 总体功能&#x1f9e0; 函数逐步解析✅ 1. 断言只在正交模式下使用✅ 2. 计算显示的实际长度✅ 3. 字体和图形区域准备✅ 4. 计算比例尺图形的绘制位置✅ 5.…...

【计算机视觉】OpenCV实战项目:基于Tesseract与OpenCV的字符识别系统深度解析

基于Tesseract与OpenCV的字符识别系统深度解析 1. 项目概述2. 技术原理与算法设计2.1 图像预处理流水线1) 形态学操作2) 自适应阈值 2.2 Tesseract OCR引擎 3. 实战部署指南3.1 环境配置3.2 项目结构优化建议3.3 增强版代码实现 4. 常见问题与解决方案4.1 Tesseract路径错误4.2…...

CVE-2025-31258 macOS远程视图服务沙箱逃逸漏洞PoC已公开

苹果公司近日针对macOS系统中新披露的CVE-2025-31258漏洞发布补丁&#xff0c;该漏洞可能允许恶意应用程序突破沙箱限制&#xff0c;获取未授权的系统资源访问权限。在安全研究员Seo Hyun-gyu公开概念验证&#xff08;PoC&#xff09;利用代码后&#xff0c;该漏洞已在macOS Se…...

使用CAS操作实现乐观锁的完整指南

乐观锁是一种高效的并发控制机制&#xff0c;而CAS(Compare-And-Swap)是实现乐观锁的核心技术。下面我将详细介绍如何通过CAS操作实现乐观锁。 一、CAS操作原理 CAS(Compare-And-Swap)是一种原子操作&#xff0c;包含三个操作数&#xff1a; 内存位置(V)预期原值(A)新值(B) …...

java之网络编程

文章目录 网络编程概述什么是网络编程基本的通信架构CS架构BS架构 Java提供了哪些网络编程解决方案&#xff1f; 网络编程三要素IPIP地址IP域名&#xff08;Domain Name&#xff09;DNS域名解析&#xff08;Domain Name System&#xff09;公网IP、内网IP本机IPInetAddress类In…...

苍穹外卖--新增菜品

1.需求分析和设计 产品原型 业务规则&#xff1a; 菜品名称必须是唯一的 菜品必须属于某个分类下&#xff0c;不能单独存在 新增菜品时可以根据情况选择菜品的口味 每个菜品必须对应一张图片 接口设计&#xff1a; 根据类型查询分类(已完成) 文件上传 新增菜品 根据类型…...

Spark处理过程-转换算子

&#xff08;一&#xff09;RDD的处理过程 Spark使用Scala语言实现了RDD的API,程序开发者可以通过调用API对RDD进行操作处理。RDD的处理过程如图所示&#xff1b; RDD经过一系列的“转换”操作&#xff0c;每一次转换都会产生不同的RDD&#xff0c;以供给下一次“转换”操作使…...

运行Spark程序-在Spark-shell——RDD

一、基本概念 RDD&#xff08;弹性分布式数据集&#xff09;是 Apache Spark 的核心抽象&#xff0c;是 Spark 提供的最基本的数据处理单元。理解 RDD 的概念对于掌握 Spark 编程至关重要。以下是 RDD 的核心概念和特性&#xff1a; 1. 什么是 RDD&#xff1f; 定义&#xf…...

Qt应用程序启动时的一些思路:从单实例到性能优化的处理方案

程序启动时优化的价值 在桌面软件开发领域&#xff0c;应用程序的启动过程就像音乐的序曲&#xff0c;决定了用户对软件品质的第一印象。比如首次启动等待超过3秒时&#xff0c;会让大多数用户产生负面看法&#xff0c;而专业工具软件的容忍阈值甚至更低。Qt框架作为跨平台开发…...

vue3父子组件传值

父 → 子&#xff1a;props 父组件 <template><ChildComponent :message"parentMessage" :user"user" /> </template><script setup> import ChildComponent from ./ChildComponent.vue; const parentMessage Hello from paren…...

中国品牌日 | 以科技创新为引领,激光院“风采”品牌建设结硕果

品牌&#xff0c;作为企业不可或缺的隐形财富&#xff0c;在当今竞争激烈的市场环境中&#xff0c;其构建与强化已成为推动企业持续繁荣的关键基石。为了更好地保护自主研发产品&#xff0c;激光院激光公司于2020年3月7日正式注册“风采”商标&#xff0c;创建拥有自主知识产权…...

合合信息上线智能文档处理领域首批MCP服务,助力企业快速搭建Agent

随着大模型及Agent技术的飞速发展&#xff0c;通过大模型调用外部工具正在成为AI应用开发的新范式。然而&#xff0c;由于不同大模型的调用结构和参数格式各异&#xff0c;开发者需要分别编写工具调用逻辑&#xff0c;AI工具集成效率低下&#xff0c;MCP&#xff08;Model Cont…...

佰力博科技与您探讨表面电阻的测试方法及应用领域

表面电阻测试是一种用于测量材料表面电阻值的技术&#xff0c;广泛应用于评估材料的导电性能、静电防护性能以及绝缘性能。 1、表面电阻的测试测试方法&#xff1a; 表面电阻测试通常采用平行电极法、同心圆电极法和四探针法等方法进行。其中&#xff0c;平行电极法通过在试样…...

【DeepSeek】判断两个 PCIe 设备是否属于**同一个 PCIe 子树

在 Linux 系统中&#xff0c;判断两个 PCIe 设备是否属于**同一个 PCIe 子树&#xff08;Subtree&#xff09;**是 P2P 通信的关键前提。以下是具体方法和步骤&#xff1a; 一、基本原理 两个 PCIe 设备属于同一子树的条件&#xff1a; 共享同一 Root Port&#xff1a;它们的…...

一份完整的高级前端性能优化手册

以下是一份完整的高级前端性能优化手册,涵盖核心原理、关键指标、优化策略及工具链,适合中大型项目深度优化: 高级前端性能优化手册 🚀 以用户体验为核心的极致性能实践 一、性能指标体系与度量 1. 核心性能指标 (Core Web Vitals) LCP (Largest Contentful Paint):最大…...

Leetcode 3543. Maximum Weighted K-Edge Path

Leetcode 3543. Maximum Weighted K-Edge Path 1. 解题思路2. 代码实现 题目链接&#xff1a;3543. Maximum Weighted K-Edge Path 1. 解题思路 这一题思路上就是一个遍历的思路&#xff0c;我们只需要考察每一个节点作为起点时&#xff0c;所有长为 k k k的线段的长度&…...

agentmain对业务的影响

前面一篇已经说了java agent技术主要有premain和agentmain两种形式&#xff0c;如果大部分业务已经在线上运行的话&#xff0c;不方便用premain的方式来实现&#xff0c;所以agentmain的方式是更加通用、灵活的 由于RASP是与用户业务运行在同一个jvm中的 &#xff0c;所以RASP…...

【前端】【JavaScript】【总复习】四万字详解JavaScript知识体系

JavaScript 前端知识体系 &#x1f4cc; 说明&#xff1a;本大纲从基础到高级、从语法到应用、从面试到实战&#xff0c;分层级讲解 JavaScript 的核心内容。 一、JavaScript 基础语法 1.1 基本概念 1.1.1 JavaScript 的发展史与用途 1. 发展简史 1995 年&#xff1a;JavaS…...

开源模型应用落地-qwen模型小试-Qwen3-8B-融合VLLM、MCP与Agent(七)

一、前言 随着Qwen3的开源与技术升级,其在企业中的落地场景正加速拓展至多个垂直领域。依托Agent智能体能力 和MCP协议的工具调用接口 ,Qwen3可深度融入企业业务流程,为企业提供从需求解析到自动化开发的全链路支持。 本篇将介绍如何实现Qwen3-8B模型集成MCP实现智能体交互。…...

【Linux学习笔记】理解一切皆文件实现原理和文件缓冲区

【Linux学习笔记】理解一切皆文件实现原理和文件缓冲区 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;Linux学习笔记 前言 哈喽&#xff0c;各位小伙伴大家好!上期我们讲了重定向 今天我们讲的是理解一切皆文件实现原理和文件缓冲区。话不…...

MCP-RAG 服务器:完整设置和使用指南

在快速发展的人工智能应用时代&#xff0c;结合静态领域知识和实时网络信息的系统需求比以往任何时候都更加迫切。传统的检索增强生成&#xff08;RAG&#xff09;模型通常依赖于预先索引的数据&#xff0c;这限制了它们对新发展的反应能力。MCP-RAG Server通过将基于语义的向量…...

裸金属服务器 VS 传统物理机

一&#xff1a;首先&#xff0c;我们先介绍一下&#xff0c;什么是裸金属服务器&#xff1f; 1.虚拟机的外表-平台可视化 可以通过后台管理界面查看当前所使用的全部信息包括&#xff1a;当前系统版本、CPU、内存、硬盘等相关信息。 2.虚拟机的外表-操作自动化 同样也可以在…...

React百日学习计划-Grok3

关键点 研究表明&#xff0c;100天内学习React是可行的&#xff0c;尤其是你已有HTML、JS和CSS基础。该计划包括基础知识、hooks、状态管理、路由、样式化及综合项目&#xff0c;适合初学者。建议每天花2-3小时学习&#xff0c;结合免费教程和社区支持。 开始学习 学习React…...

Android NDK 高版本交叉编译:为何无需配置 FLAGS 和 INCLUDES

引言&#xff1a;NDK 交叉编译的演进 Android NDK&#xff08;Native Development Kit&#xff09;是开发高性能C/C代码的核心工具链&#xff0c;而交叉编译&#xff08;在x86主机上生成ARM架构代码&#xff09;一直是NDK的核心功能。过去&#xff0c;开发者需要手动配置大量编…...

Java详解LeetCode 热题 100(15):LeetCode 189. 轮转数组(Rotate Array)详解

文章目录 1. 题目描述2. 理解题目3. 解法一&#xff1a;使用额外数组3.1 思路3.2 Java代码实现3.3 代码详解3.4 复杂度分析3.5 适用场景 4. 解法二&#xff1a;环状替换法&#xff08;原地算法&#xff09;4.1 思路4.2 Java代码实现4.3 代码详解4.4 复杂度分析4.5 陷阱与注意事…...

出于PCB设计层面考虑,连排半孔需要注意哪些事项?

通过拼接作为后处理运行&#xff0c;用拼接联排半孔填充铜的自由区域。为了使通缝成为可能&#xff0c;必须在不同的层上有重叠的铜区域连接到指定的网上。铜的支持区域包括填充、多边形和动力平面。 高电流对电路板的潜在负面影响的另一个例子是电路板结构的物理失效。制造原始…...

JIT+Opcache如何配置才能达到性能最优

首先打开php.ini文件&#xff0c;进行配置 1、OPcache配置 ; 启用OPcache opcache.enable1; CLI环境下启用OPcache&#xff08;按需配置&#xff09; opcache.enable_cli0; 预加载脚本&#xff08;PHP 7.4&#xff0c;加速常用类&#xff09; ; opcache.preload/path/to/prel…...

VR和眼动控制集群机器人的方法

西安建筑科技大学信息与控制工程学院雷小康老师团队联合西北工业大学航海学院彭星光老师团队&#xff0c;基于虚拟现实&#xff08;VR&#xff09;和眼动追踪技术实现了人-集群机器人高效、灵活的交互控制。相关研究论文“基于虚拟现实和眼动的人-集群机器人交互方法” 发表于信…...

LabVIEW与PLC通讯程序S7.Net.dll

下图中展示的是 LabVIEW 环境下通过调用S7.Net.dll 组件与西门子 PLC 进行通讯的程序。LabVIEW 作为一种图形化编程语言&#xff0c;结合S7.Net.dll 的.NET 组件优势&#xff0c;在工业自动化领域中可高效实现与 PLC 的数据交互&#xff0c;快速构建工业监控与控制应用。相较于…...

【华为】现场配置OSPF

原创&#xff1a;厦门微思网络 实验目的 1、了解OSPF的运行原理 2、掌握OSPF的配置方法 实验拓扑 实验需求 1、根据实验拓扑图&#xff0c;完成设备的基本配置&#xff1b; 2、分别在R1、R2、R3上创建Loopback0接口&#xff0c;IP地址分别是1.1.1.1/32、2.2.2.2/32、3.3.3.…...

STM32-DMA数据转运(8)

目录 一、简介 二、存储器映像 三、DMA框图​编辑 四、DMA基本结构 五、两个数据转运的实例 一、简介 直接存储器存取简称DMA&#xff08;Direct Memory Access&#xff09;&#xff0c;它是一个数据转运小助手&#xff0c;主要用来协助CPU&#xff0c;完成数据转运的工作…...

课题推荐——低成本地磁导航入门,附公式推导和MATLAB例程运行演示

地磁导航利用地球磁场的自然特性&#xff0c;通过感知磁场变化&#xff0c;帮助机器人或无人设备实现定位和导航。相比于 GPS、激光雷达等导航方法&#xff0c;地磁导航具有以下优势&#xff1a; 低成本&#xff1a;使用地磁传感器&#xff08;如电子罗盘&#xff09;&#xff…...

微信小程序学习之底部导航栏

首先&#xff0c;我们在app.json中添加4个页面&#xff0c; "pages": ["pages/index/index","pages/category/category","pages/cart/cart","pages/user/user"], 其次我们把8张图片放到imaes文件夹下&#xff0c; 图标可…...

c++ std库中的文件操作学习笔记

1. 概述 C标准库提供了 头文件中的几个类来进行文件操作&#xff0c;这些类封装了底层的文件操作&#xff0c;提供了面向对象和类型安全的接口&#xff0c;使得文件读写更加便捷和高效。主要的文件流类包括&#xff1a; std::ifstream&#xff1a;用于从文件中读取数据。 st…...

多臂赌博机:探索与利用的平衡艺术

1. 引言 在机器学习领域&#xff0c;多臂赌博机&#xff08;Multi-Armed Bandit&#xff0c;MAB&#xff09;问题是强化学习的一个经典且基础的模型。这个名称源于赌场中的"单臂老虎机"&#xff08;One-armed Bandit&#xff09;&#xff0c;因为这种赌博机器像强盗…...

分布式异步强化学习框架训练32B大模型:INTELLECT-2

INTELLECT-2 模型详解 一、模型概述 INTELLECT-2 是一个拥有 320 亿参数的语言模型&#xff0c;其训练采用了一种创新的方式&#xff0c;即通过社区贡献的分布式、无需许可的 GPU 资源进行强化学习训练。该模型基于 qwen2 架构构建&#xff0c;因此与 vllm 或 sglang 等流行库…...