Java 基础进阶篇(三)—— 面向对象的三大特征之二:继承
文章目录
- 一、继承概述
- 二、内存运行原理 ★
- 三、继承的特点
- 四、继承后:成员变量和方法的访问特点
- 五、继承后:方法重写
- 六、继承后:子类构造器的特点
- 七、继承后:子类构造器访问父类有参构造器
- 八、this、super 总结
一、继承概述
Java 允许一个类通过 extends 关键字与另一个类建立父子关系,这就是继承。
格式: 子类 extends 父类
特点: 子类继承父类后,就可以得到父类的属性和行为。
优点: 提高代码的复用性,多个子类的相同代码可以放在父类中,增强了类的扩展性。
设计规范: 子类共用属性和行为放在父类,子类独有属性和行为放在子类自己那里。
二、内存运行原理 ★
public class People{private String name;private int age;/*** 共同行为*/public void queryCourse(){System.out.println(name + "查看课表信息!!");}// getter + setter
}public class Student extends People{private String className;/*** 独有行为*/public void writeInfo(){System.out.println(getName()+" 写作业!!");}// getter + setter
}
public class Test{public static void main(string[] args){Student s = new Student();s.setName("翠花"); // 父类的s.setAge(22); // 父类的s.setclassName("Java就业999期");// 子类的s.queryCourse(); // 父类的s.writeInfo(); // 子类的}
}
学生对象内存图如下:

三、继承的特点
-
子类可以继承父类的属性和行为,但是 子类不能继承父类的构造器。
-
子类可以继承父类私有成员吗?
有争议,我认为可以,只是不能直接访问。可通过访问父类的方法,间接访问父类私有成员。 -
子类可以直接用子类名访问父类静态成员。那么子类继承了父类静态成员吗?
我认为没有继承,只能可以共享的去访问父类静态成员,共享并非继承。 -
Java是单继承模式:一个类只能继承一个直接父类。反证法如下:

-
Java 不支持多继承,但是支持多层继承。
-
Java 中所有的类都是 Object 类的子类。
四、继承后:成员变量和方法的访问特点
采用:就近原则
this.子类自己的成员变量; super.父类成员变量/父类成员方法(父类成员是public)
public class Animal{public String name = "动物的名字";public void run(){System.out.println("动物可以跑~~");}
}public class Dog extends Animal{public String name = "狗的名字";public void run(){System.out.println("狗可以跑~~");}public void showName(){String name = "临时的名字";System.out.println(name); // 访问局部变量nameSystem.out.println(this.name); // 访问子类name。如果没有同名临时变量,name就是子类 name,不用加 thisSystem.out.println(super.name); // 访问父类namesuper.run(); // 访问父类run(); // 访问子类}
}
public class Test {public static void main(String[] args) {// 目标:理解继承后成员的访问特点:就近原则Dog dog = new Dog();dog.run(); // 狗可以跑~~dog.showName();}
}
五、继承后:方法重写

六、继承后:子类构造器的特点

七、继承后:子类构造器访问父类有参构造器

八、this、super 总结

注意:
子类通过 this(…) 去调用本类的其他构造器,本类其他构造器会通过 super 去手动调用父类的构造器,最终还是会调用父类构造器。
super(…) 必须放在第一行,this(…) 也必须在第一行,因此二者不能共存一个构造器中。
文章参考:Java入门基础视频教程,java零基础自学就选黑马程序员Java入门教程(含Java项目和Java真题)
相关文章:
Java 基础进阶篇(三)—— 面向对象的三大特征之二:继承
文章目录 一、继承概述二、内存运行原理 ★三、继承的特点四、继承后:成员变量和方法的访问特点五、继承后:方法重写六、继承后:子类构造器的特点七、继承后:子类构造器访问父类有参构造器八、this、super 总结 一、继承概述 Jav…...
[angstromctf 2023] 部分
这个比赛打了个开头就放弃了,最近放弃的比较多,国外的网太慢,国内的题太难。 Crypto ranch 这题直接给出密文这提示 rtkw{cf0bj_czbv_nvcc_y4mv_kf_kip_re0kyvi_uivjj1ex_5vw89s3r44901831} Caesar dressing is so 44 BC... 然后是加密程序…...
死信队列
死信队列 死信的概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到queue 里了,consumer 从 queue 取出消息…...
基于YOLOv5的目标检测系统详解(附MATLAB GUI版代码)
摘要:本文重点介绍了基于YOLOv5目标检测系统的MATLAB实现,用于智能检测物体种类并记录和保存结果,对各种物体检测结果可视化,提高目标识别的便捷性和准确性。本文详细阐述了目标检测系统的原理,并给出MATLAB的实现代码…...
使用ChatGPT工具阅读文献的实战教程
大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…...
实训笔记1
实训笔记 第一天 1.安装tomcat或者其他大数据开发的路径不含中文及空格 2.和同开发 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FoApp1oX-1683039421826)(C:\Users\18249\AppData\Roaming\Typora\typora-user-images\image-20230422110823748…...
CCD视觉检测设备如何选择光源
CCD视觉检测设备的机器视觉系统对光源的要求很高,光源是决定图像质量的一个重要因素。那么,我们就来看看CCD图像加网设备和机器视觉系统光源的选择点——CCD图像加网设备。 CCD视觉检测设备机器视觉系统光源选择要点: 1. 对比度:…...
基于协同过滤的旅游推荐系统设计与实现(论文+源码)_kaic
1 绪论 1.1 研究背景及意义 1.2 国内外研究现状 1.3 研究目标与意义 1.4 主要研究工作 2 相关理论介绍 2.1HTML与JavaScript 2.2 MySQL数据库 2.3 协同过滤算法简介 3 系统分析与设计 3.1 系统需求分析 3.1.1 功能性需求 3.1.2 安全性需求 3.2 系统总体架构 3.3 功能模块设计 3…...
代码随想录补打卡 746 使用最小花费爬楼梯
代码如下 func minCostClimbingStairs(cost []int) int { dp : make([]int,len(cost)1) //思路:设置一个花费数组dp,dp数组的长度等于之前的cost在加上1(1为楼顶元素) dp[0] 0 dp[1] 0 for i : 2 ; i < len(c…...
有理函数的不定积分习题
前置知识:有理函数的不定积分 习题 计算 ∫ x 3 1 x 4 − 3 x 3 3 x 2 − x d x \int \dfrac{x^31}{x^4-3x^33x^2-x}dx ∫x4−3x33x2−xx31dx 解: \qquad 将被积函数的分母因式分解得 x 4 − 3 x 3 3 x 2 − x x ( x − 1 ) 3 x^4-3x^33x^2-xx…...
PS滤镜插件-Nik Collection介绍
PS滤镜插件-Nik Collection介绍 什么是Nik CollectionNik Collection都包含什么? 什么是Nik Collection Nik Collection是一款PS滤镜插件套装,其包含了八款PS插件,功能涵盖修图、调色、降噪、胶片滤镜等方面。Nik Collection 作为很多摄影师…...
力扣刷题2023-05-04-1——题目:2614. 对角线上的质数
题目: 给你一个下标从 0 开始的二维整数数组 nums 。 返回位于 nums 至少一条 对角线 上的最大 质数 。如果任一对角线上均不存在质数,返回 0 。 注意: 如果某个整数大于 1 ,且不存在除 1 和自身之外的正整数因子,…...
【Java笔试强训 2】
🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥排序子…...
术数基础背诵口诀整理
物象对应 五行方位天干神兽季节气候星宿生成数脏器木东甲乙青龙春风岁八肝火南丙丁朱雀夏热荧惑七心土中戊己?长夏湿镇五脾金西庚辛白虎秋燥太白九肺水北壬癸玄武冬寒辰六肾 口诀:东方甲乙青龙木,南方丙丁朱雀火,戊己勾陈腾蛇土&…...
Linux 基础语法 -2
如果我们以后再Linux当中 写了一些命名,导致程序我们不能进行操作了,如这个死循环: 他就会一直输出 "hello Linux" ,我们就使用 ctrl c 来终止因为程序或者指令异常,而导致我们无法进行指令输入ÿ…...
深度学习框架发展趋势
深度学习方法的发展是推动深度学习框架进步的最大动力,因此深度学习框架的功能和设计应顺应 算法和模型的发展趋势: 第一,易用性。深度学习领域仍处于快速发展期,参与者和学习者不断增加,新模型大量提出。因 此&#…...
Mysql为json字段创建索引的两种方式
目录 一、前言二、通过虚拟列添加索引(Secondary Indexes and Generated Columns)三、多值索引(Using multi-valued Indexes)四、官网地址 一、前言 JSON 数据类型是在mysql5.7版本后新增的,同 TEXT,BLOB …...
cassandra数据库入门-4
插入数据 在表中创建数据 您可以使用命令 INSERT 将数据插入表中一行的列中。 下面给出了在表中创建数据的语法。 INSERT INTO <tablename> (<column1 name>, <column2 name>....) VALUES (<value1>, <value2>....) USING <option> 例子…...
微服务学习——分布式搜索
初识elasticsearch 什么是elasticsearch elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域…...
ChatGPT根据销售数据、客户反馈、财务报告,自动生成报告,并根据不同利益方的需要和偏好进行调整?
该场景对应的关键词库(24个): 汇报对象身份(下属、跨部门平级、领导)、销售数据(销售额、销售量、销售渠道)、财务报告(营业收入、净利润、成本费用)、市场分析…...
档案宝 档案管理系统怎么样?为什么企业选择他?
在当今信息化高速发展的时代,企业档案管理已经从传统的纸质化时代迈向了数字化、智能化的新阶段。随着企业规模的不断扩大和业务类型的日益复杂,档案管理面临着前所未有的挑战:档案数量激增、查找困难、存储空间紧张、安全隐患突出等问题严重…...
3步掌握文字转手写工具:免费高效实用指南
3步掌握文字转手写工具:免费高效实用指南 【免费下载链接】text-to-handwriting So your teacher asked you to upload written assignments? Hate writing assigments? This tool will help you convert your text to handwriting xD 项目地址: https://gitcod…...
SDMatte效果对比图谱:SDMatte/RemBG/BackgroundMattingV2在玻璃场景PK
SDMatte效果对比图谱:SDMatte/RemBG/BackgroundMattingV2在玻璃场景PK 1. 引言:玻璃抠图的特殊挑战 玻璃材质因其透明和反光特性,一直是图像抠图领域最具挑战性的对象之一。传统抠图工具在处理玻璃制品时,往往会出现边缘断裂、透…...
实战级SQL注入测试技巧揭秘
目录 一、高阶注入判断技巧(不爆数据,只测漏洞) 1. 布尔盲注(Boolean-based) 2. 时间盲注(Time-based) 3. 报错注入(Error-based) 二、高阶利用手法(实战…...
从课程设计到实际应用:聊聊51单片机倒车雷达项目的那些优化点
从课程设计到实际应用:51单片机倒车雷达项目的工业级优化指南 当你完成了一个能测距、能报警的51单片机倒车雷达课程设计后,是否思考过这个"玩具级"项目与真正车载产品的差距?本文将带你跨越这道鸿沟,从精度、可靠性、功…...
PT插件配置完全指南:从基础到进阶的全方位解决方案
PT插件配置完全指南:从基础到进阶的全方位解决方案 【免费下载链接】PT-Plugin-Plus PT 助手 Plus,为 Microsoft Edge、Google Chrome、Firefox 浏览器插件(Web Extensions),主要用于辅助下载 PT 站的种子。 项目地址…...
html+css+js创意小游戏~记忆卡片配对(附源码)
1. 从零开始打造记忆卡片配对游戏 最近在教家里小朋友认动物,突然想到可以用前端三件套做个记忆卡片小游戏。这个项目特别适合刚学完HTML/CSS基础,想练手JavaScript的朋友。我自己第一次写这个游戏时,只用了不到100行代码就实现了核心功能&am…...
NVIDIA显卡在WSL2下的CUDA开发环境搭建:为什么我的nvcc命令找不到?
NVIDIA显卡在WSL2下的CUDA开发环境搭建:为什么我的nvcc命令找不到? 当你在WSL2中兴奋地准备开始CUDA开发时,却遭遇了"nvcc: command not found"的报错,这种挫败感我深有体会。作为在WSL2环境下进行CUDA开发的老手&…...
Jupyter Notebook快速入门:从安装到高效编码
1. 为什么你需要Jupyter Notebook? 第一次听说Jupyter Notebook时,我也觉得这不过是个普通的代码编辑器。直到真正用起来才发现,它完全改变了我的编程工作流。想象一下,你正在写一个数据分析脚本,传统方式需要反复运行…...
vLLM-v0.17.1应用场景:跨境电商多语言商品描述生成系统
vLLM-v0.17.1应用场景:跨境电商多语言商品描述生成系统 1. 跨境电商面临的商品描述挑战 跨境电商企业每天需要为成千上万的商品生成多语言描述,传统人工编写方式面临三大痛点: 人力成本高:每个语种都需要专业翻译人员ÿ…...
