1.6、Java继承、构造方法、数组
- 子类可以增加字段、增加方法或覆盖父类方法,但继承不会删除任何字段和方法
- 不恰当认为super 同 this 引用是类似的概念,其实super不是一个对象的引用,不能将值super赋给另一个对象变量,super只是一个指示 编译器调用父类方法的特殊关键字
- this关键字,一指示隐式参数的引用,二是调用该类的其他构造器;super关键字,一是调用超类方法,二是调用超类的构造器。调用构造器语句只能作为另一个构造器的第一条语句出现。构造器参数可以传递给当前类(this)的另一个构造器,也可以传递给超类(super)的构造器。
- 继承不仅局限于一个层次,它可以是多层次的,树状结构。
- 有时候不希望定义某个类的子类,可以使用final修饰类,那就表明了这个类是final类,不能够被继承,这个类中的所有方法都自动变成final方法,不过不包括字段。如果使用final修饰方法,那么就是final方法,所有继承这个类的子类都不能覆盖这个方法。final也可以用来修饰字段,在构造对象之后,字段就不允许改变了。
- object是所有类的始祖,但不需要显式写出。
父类
package father_class;import java.time.LocalDate;public class father_employee {private String name = "";private double salary = 0;private LocalDate hireDay ;public father_employee(String name, Integer salary, int year, int month, int day){this.name = name;this.salary = salary;hireDay = LocalDate.of(year,month,day);}public father_employee(){}// 调整工资public void modifySalary(double rate){salary = salary * rate;}public double printSalary(){return salary;}public String getName(){return name;}public void setName(String name ){this.name = name;}public double getSalary(){return salary;}public void setSalary(Integer salary){this.salary = salary;}public LocalDate getHireDay() {return hireDay;}public void setHireDay(LocalDate hireDay) {this.hireDay = hireDay;}
}
子类
package father_class;public class son_manager extends father_employee {private Integer bonus = 0;/**** @param name* @param salary* @param year* @param month* @param day*/
// 构造方法public son_manager(String name,Integer salary,int year,int month,int day,int bonus){super(name,salary,year,month,day);this.bonus = bonus;}public double getSalary(){return super.getSalary()+bonus;}public void setBonus(Integer bonus){this.bonus = bonus;}public Integer getBonus(){return bonus;}}
测试类
package father_class;public class test {public static void main(String[] args) {
// 有奖金的老板var boss = new son_manager("Boss", 100000, 2018, 12, 12, 3485);// 三个员工var staff = new father_employee[3];staff[0] = boss;// 创建两个员工staff[1] = new father_employee("one", 9000, 1982, 12, 3);staff[2] = new son_manager("Manager", 10000, 2019, 1, 1, 999);// 打印for (father_employee e : staff) {System.out.println("name=" + e.getName() + ",salary=" + e.getSalary());}father_employee father_1 = new father_employee();father_1.setName("IKUN");father_1.setSalary(1982);father_1.modifySalary(2.5);System.out.println("name=" + father_1.getName() + ",salary=" + father_1.getSalary());}
}
运行截图

相关文章:
1.6、Java继承、构造方法、数组
子类可以增加字段、增加方法或覆盖父类方法,但继承不会删除任何字段和方法不恰当认为super 同 this 引用是类似的概念,其实super不是一个对象的引用,不能将值super赋给另一个对象变量,super只是一个指示 编译器调用父类方法的特殊…...
通义万相 2.1 与蓝耘智算平台的深度协同,挖掘 AIGC 无限潜力并释放巨大未来价值
我的个人主页 我的专栏: 人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!! 点赞👍收藏❤ 引言:AIGC 浪潮下的新机遇 在当今数字化飞速发展的时代,人工智能生成内容&…...
Spring Boot项目中成功集成了JWT
JWT 原理解释 什么是 JWT? JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在网络应用环境间安全地将信息作为JSON对象传输。JWT通常用于身份验证和信息交换。 JWT 的结构 JWT由三部分组成ÿ…...
DeepSeek 3FS集群化部署临时笔记
DeepSeek 3FS集群化部署临时笔记 一、3FS集群化部署1、环境介绍2、对应的软件包安装3、编译4、部署4.1 部署monitor_collector_mainStep 2: Admin clientStep 3: Mgmtd serviceStep 4: Meta serviceStep 5: Storage serviceStep 6: Create admin user, storage targets and cha…...
专题|Python贝叶斯金融数据应用实例合集:随机波动率SV模型、逻辑回归、参数更新、绩效比较BEST分析亚马逊股票、普尔指数...
原文链接:https://tecdat.cn/?p41020 本专题合集系统梳理了贝叶斯方法在金融数据分析与分类建模中的前沿应用。合集聚焦于PyMC3概率编程框架,深度探讨了共轭先验参数更新、贝叶斯逻辑回归、贝叶斯夏普比率等核心算法在实际场景中的落地实践(…...
RocketMQ企业应用篇
在现代企业级应用中,分布式消息队列系统如RocketMQ发挥着至关重要的作用。本文将深入探讨RocketMQ在电商和物联网场景中的应用,结合实际案例和代码示例,展示如何利用RocketMQ解决企业级应用中的关键问题。 一、电商场景应用 1. 秒杀抢购解决…...
vue-常用指令 | 常用指令的修饰符
目录 什么是vue指令 v-cloak v-text v-html v-pre v-show /v-if v-else/v-else-if v-on v-bind v-for v-model 常用指令的修饰符 v-model 指令修饰符 事件修饰符 按键修饰符 什么是vue指令 指令就是带有 v- 前缀 的特殊 属性,不同的属性对应不…...
Git提交前时间检查
为了防止在本地看日志的时候,由于本地时间被修改,导致日志的时间存在非正确时间。通过以下脚本在提交前进行时间验证,只有是正确的时间才可以提交。 使用方法如下: 复制如下脚本,命名为 pre-commit ,放到 …...
Linux调度器 --- 负载均衡的存在的问题
文章目录 前言一、简介二、Linux 调度器2.1 在单核系统上,CFS 非常简单2.2 在多核系统上,CFS 变得非常复杂2.2.1 负载均衡算法2.2.2 优化措施 三、Linux调度器负载均衡的存在的问题3.1 组负载不均衡问题(Group Imbalance Bug)3.2 …...
从零开始用AI开发游戏(三)背景故事
《迷域回响》背景故事 第一章:失落的符文纪元 在远古的“艾瑟兰”大陆,掌握空间魔法的「筑界者文明」曾建造了连通万界的回响迷宫——这座迷宫既是试炼场,也是囚笼。文明巅峰时期,筑界者将禁忌知识刻入虚空符文,嵌于…...
IXTUR气控永磁铁:以高精度气控和稳定磁场,为机器人应用提供稳定抓取力
在现代工业生产和物流领域,物料的抓取与搬运是影响生产效率和成本控制的重要环节。传统夹爪在面对不同材质、形状和重量的物体时,常常存在适应性差、抓取不稳定、操作复杂等问题,导致生产流程中频繁出现停机调整,增加了人工干预成…...
硬件驱动——51单片机:寄存器、LED、动态数码管
目录 一、51单片机 1.寄存器 二、LED点灯 1.原理 2.封装函数 3.顺序点灯 4.特定位点灯 三、动态数码管 1.原理 2.封装函数 3.0~9跳变 4.顺序移位0~9跳变 一、51单片机 1.寄存器 51单片机共40个引脚,其中P0,P1,P2,P3是四个有8引脚的寄存器࿰…...
2025 香港 Web3 嘉年华:全球 Web3 生态的年度盛会
自 2023 年首届香港 Web3 嘉年华成功举办以来,这一盛会已成为全球 Web3 领域规模最大、影响力最深远的行业活动之一。2025 年 4 月 6 日至 9 日,第三届香港 Web3 嘉年华将在香港盛大举行。本届活动由万向区块链实验室与 HashKey Group 联合主办、W3ME 承…...
【MySQL】多表查询(笛卡尔积现象,联合查询、内连接、左外连接、右外连接、子查询)-通过练习快速掌握法
在DQL的基础查询中,我们已经学过了多表查询的一种:联合查询(union)。本文我们将系统的讲解多表查询。 笛卡尔积现象 首先,我们想要查询emp表和stu表两个表,按照我们之前的知识栈,我们直接使用…...
Leetcode-132.Palindrome Partitioning II [C++][Java]
目录 一、题目描述 二、解题思路 【C】 【Java】 Leetcode-132.Palindrome Partitioning IIhttps://leetcode.com/problems/palindrome-partitioning-ii/description/132. 分割回文串 II - 力扣(LeetCode)132. 分割回文串 II - 给你一个字符串 s&…...
在 macOS 上优化 Vim 用于开发
简介 这篇指南将带你通过一系列步骤,如何在 macOS 上优化 Vim,使其具备 代码补全、语法高亮、代码格式化、代码片段管理、目录树等功能。此外,我们还会解决在安装过程中可能遇到的常见错误。 1. 安装必备工具 在开始 Vim 配置之前ÿ…...
SOME/IP-SD -- 协议英文原文讲解8
前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.4.4 S…...
【Agent实战】货物上架位置推荐助手(RAG方式+结构化prompt(CoT)+API工具结合ChatGPT4o能力Agent项目实践)
本文原创作者:姚瑞南 AI-agent 大模型运营专家,先后任职于美团、猎聘等中大厂AI训练专家和智能运营专家岗;多年人工智能行业智能产品运营及大模型落地经验,拥有AI外呼方向国家专利与PMP项目管理证书。(转载需经授权) 目录 结论 效果图示 1.prompt 2. API工具封…...
Spring Boot使用线程池创建多线程
在 Spring Boot 2 中,可以使用 Autowired 注入 线程池(ThreadPoolTaskExecutor 或 ExecutorService),从而管理线程的创建和执行。以下是使用 Autowired 方式注入线程池的完整示例。 1. 通过 Autowired 注入 ThreadPoolTaskExecuto…...
PyTorch 深度学习实战(11):强化学习与深度 Q 网络(DQN)
在之前的文章中,我们介绍了神经网络、卷积神经网络(CNN)、循环神经网络(RNN)、Transformer 等多种深度学习模型,并应用于图像分类、文本分类、时间序列预测等任务。本文将介绍强化学习的基本概念࿰…...
在Eclipse 中使用 MyBatis 进行开发,通常需要以下步骤:
在Eclipse 中使用 MyBatis 进行开发,通常需要以下步骤: 1. 创建 Maven 项目 首先,在 Eclipse 中创建一个 Maven 项目。如果你还没有安装 Maven 插件,可以通过 Eclipse Marketplace 安装 Maven 插件。 打开 Eclipse,选…...
Python学习第十九天
Django-分页 后端分页 Django提供了Paginator类来实现后端分页。Paginator类可以将一个查询集(QuerySet)分成多个页面,每个页面包含指定数量的对象。 from django.shortcuts import render, redirect, get_object_or_404 from .models impo…...
Adobe Premiere Pro2023配置要求
Windows 系统 最低配置 处理器:Intel 第六代或更新版本的 CPU,或 AMD Ryzen™ 1000 系列或更新版本的 CPU,需要支持 Advanced Vector Extensions 2(AVX2)。操作系统:Windows 10(64 位ÿ…...
面试求助:接口测试用例设计主要考虑哪些方面?
一、基础功能验证 1. 正常场景覆盖 关键点:验证接口在合法输入下的正确响应(状态码、数据结构、业务逻辑)。 案例: json 复制 // 用户登录接口 输入:{"username": "合法用户", "password…...
C语言——变量与常量
C语言中的变量与常量:简洁易懂的指南 在C语言编程中,变量和常量是最基本的概念之一。理解它们的区别和使用方法对于编写高效、可维护的代码至关重要。本文将详细介绍C语言中的变量和常量,并通过图表和代码示例帮助你更好地理解。 目录 什么…...
考研408-数据结构完整代码 线性表的顺序存储结构 - 顺序表
线性表的顺序存储结构 - 顺序表 1. 顺序表的定义 用一组地址连续的存储单元依次存储线性表的数据元素,从而使逻辑上相邻的两个元素在物理位置上也相邻 2. 顺序表的特点 随机访问: 即通过首地址和元素序号可以在O(1) 时间内找到指定元素࿰…...
Windows环境下安装部署dzzoffice+onlyoffice的私有网盘和在线协同系统
安装前需要准备好Docker Desktop环境,可查看我的另一份亲测安装文章 https://blog.csdn.net/qq_43003203/article/details/146283915?spm1001.2014.3001.5501 1、安装配置onlyoffice 1、Docker 拉取onlyoffice容器镜像 管理员身份运行Windows PowerShell&#x…...
解决 Docker 镜像拉取超时问题:配置国内镜像源
在使用 Docker 的过程中,经常会遇到镜像拉取超时的问题,尤其是在国内网络环境下。这不仅会浪费大量的时间,还可能导致一些项目无法顺利进行。今天,我将分享一个简单而有效的解决方法:配置国内镜像源。 环境 操作系统 c…...
如何解决 Three.js 物体渲染的锯齿问题
在 Three.js 中,如果模型看起来不够平滑,或者在旋转视角时出现锯齿(aliasing),可以通过以下方法来优化渲染效果。 1. 启用抗锯齿(MSAA) 默认情况下,Three.js 渲染器不会开启抗锯齿&…...
嵌入式八股,为什么单片机中不使用malloc函数
1. 资源限制 单片机的内存资源通常非常有限,尤其是RAM的大小可能只有几KB到几十KB。在这种情况下,使用 malloc 进行动态内存分配可能会导致内存碎片化,使得程序在运行过程中逐渐耗尽可用内存。 2. 内存碎片问题 malloc 函数在分配和释放内…...
