猿来绘Java-13-继承

article/2025/8/18 8:16:53

为什么要有继承?

① 减少了项目中各个模块代码的冗余,提高了代码的复用性 (提高可维护性)

② 便于功能的扩展(提高可扩展性)

③ 为之后多态性的使用,提供了前提

继承的格式

class ClassAaa extends ClassBbb{}

ClassAaa:子类有时候也叫派生类,英文名为subclass

ClassBbb:父类有时候也叫超类、基类,英文名为superclass

说明

关键字extends翻译为中文是 延展、扩展

子类ClassAaa继承父类ClassBbb以后,子类ClassAaa中就获取了父类ClassBbb中声明的所有的属性和方法(包含父类中私有的private属性和方法)。

特别的,父类中声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构,但是因为封装性(解决可见性的问题)的影响,使得子类不能直接调用父类私有的结构。

子类继承父类以后,子类还可以声明自己特有的属性或方法:实现功能的拓展,这样使得子类功能更为强大

子类和父类的关系,不同于子集和集合的关系。

Java中关于继承性的规定

1.一个类可以被多个子类继承

2.Java中类的单继承性:一个类只能有一个父类(不能有多个父类),不同于C++的多继承

3.子父类是相对的概念,Object类是Java类中所有类的父类,那么所有的类都具有Object的功能

4.子类直接继承的父类称为直接父类,间接继承的父类称为间接父类

5.子类继承父类以后,就获取了直接父类以及所有间接父类中声明的所有的属性和方法

继承代码示例

继承树结构如下所示,代码中注明

 

//Creature.java
package com.ylaihui.oop2;public class Creature {public void breath(){System.out.println("breath...");}
}
//PersonpTest.java
package com.ylaihui.oop2;public class PersonpTest {public static void main(String[] args) {Teacher t = new Teacher();//t.age = 40;  // private age : The field Personp.age is not visiblet.setAge(40);System.out.println(t.getAge());t.eat();t.name = "John";System.out.println(t.getName());t.show();// 继承间接父类的方法t.breath();}
}
//Teacher.java
package com.ylaihui.oop2;public class Teacher extends Personp {String major;Teacher(){}public void show(){System.out.println(major);}
}
//PersonpTest.java
package com.ylaihui.oop2;public class PersonpTest {public static void main(String[] args) {Teacher t = new Teacher();//t.age = 40;  // private age : The field Personp.age is not visiblet.setAge(40);System.out.println(t.getAge());t.eat();t.name = "John";System.out.println(t.getName());t.show();// 继承间接父类的方法t.breath();}
}

 

 


http://chatgpt.dhexx.cn/article/FSW8SHnk.shtml

相关文章

猿猿趴架构实战--03 什么是架构

3 什么是架构? 3.1 官方定义 “组成”论:程序或计算系统的软件架构是系统的一个或多个结构,它包括软件元素、这些元素的外部可见属性以及它们之间的关系。 “决策”论:软件架构是一系列重要决策的集合,这些决策与以下…

猿来代理模式如此esay~

文章目录 代理为什么要使用代理静态代理动态代理有了静态代理为什么还要有动态代理JDK动态代理 代理 为什么要使用代理 简化代码开发,应用场景例如:Spring中的AOP就使用了动态代理的思想,进一步降低了代码的耦合性 设想这样一个业务需求&am…

名师为何离开猿辅导?

来源|盒饭财经 编辑|谭丽平 有名师正跳下猿辅导这辆高速奔跑的列车。 “猿辅导数学老师邓诚去哪了?”“如何看待邓诚老师离开猿辅导”近期,在知乎上,出现了类似网友提问。 邓诚是一位明星讲师,因“跟着坑神…

猿猿

大家好,刚刚开通博客,欢迎各位多踩踩,以后还有很多学习上的问题还得多多劳烦各位大神指点。

老猿说说-Thread

引导语 从本章开始我们开始学习线程的知识,线程是非常有趣的一个章节,大多数同学对于线程 API,属于不用就忘,到用时需要百度的情况,希望通过本小节的源码阅读,能够加深对线程的印象。 本小节主要三章&…

先进计算成趋势,猿代码助力科学之梦|猿代码科技

计算,是社会发展各个环节都存在的名词,无论是科学研究,或者是生产制造,甚至于每天的睁眼闭眼,只要有思考就会有计算。在全球经济一体化的当下,经济社会对于“计算”的依赖日益凸显,“计算”早已…

猿辅导获国际科研大奖:深度解析它为何在科研界“混得”风生水起

近年来,随着新一代人工智能在全球范围内的蓬勃兴起,人们的生产和生活方式也发生了巨大的变化。人工智能作为引领新一轮科技革命和产业变革的战略性技术之一,正在各领域落地应用。为了进一步推动人工智能与教育深度融合,发挥人工智…

猿来如此java系统_2020年最新 猿来如此springboot基础脚手架(资料完整)

『视频截图』: 98.jpg (78.82 KB, 下载次数: 0) 2020-5-29 10:44 上传 97.jpg (20.2 KB, 下载次数: 0) 2020-5-29 10:43 上传 『课程目录』: 目录:/6、2020年最新 springboot基础脚手架(笔记、源码、素材 完整) ┣━━课堂笔记 ┃ ┗━━springboot基础脚手架课堂…

猿来绘Java-31-为什么子类重写的方法抛出的异常类型小于等于父类被重写的方法抛出的异常

来一个例子 //OverrideTest.java package com.ylaihui.exception;import java.io.FileNotFoundException; import java.io.IOException;public class OverrideTest {public static void main(String[] args) {OverrideTest test new OverrideTest();test.display(new SubClas…

写在 2023 年初的后端社招面试经历(四年经验):字节 米哈游 富途 猿辅导

目录 背景面试准备面试 字节跳动米哈游富途牛牛猿辅导 总结 一些推荐 1. 背景 距离上一次面试[1]已经过去快 3 年了,又碰上 2022 年互联网行业大动荡,很多企业都做出了裁员决定。 身为互联网人要时刻关注自身成长,所以会对 “跟面试官切磋” …

猿人学第一题

** 猿人学系列保姆级教程 ** 第一题* 链接:http://match.yuanrenxue.com/match/1 1 分析所需参数请求来源及获取请求索要参数 上图我们可以分析出我们所需数据请求的url为http://match.yuanrenxue.com/api/match/1?me1c053a7e2130d440b11196035803350%E4%B8%A81608486311…

猿来你也在这里,北京上海无聊猿线下见面会成功举办

由Angry Rabbit暴躁兔社区、男士理容生活潮牌公司dearBOYfriend、REVO联合众多无聊猿NFT玩家举办的无聊猿聚会活动于8月7日下午在北京与上海两地同期正式举行。 本次下线活动在北京的举办地为海淀区荷清路东升园公寓Meta Space咖啡厅,参与者16人,上海举办…

猿创征文|那一年

猿创征文|那一年 那一年,因为游戏我与开发结缘那一年,我选了软件技术专业那一年,我实习了那一年,我去了一家培训外包公司那一年,我大学毕业那一年,我去了济南工作那一年,再就业那一年…

猿创征文 | Python 开发工具进化之旅

​ 前言 我为什么会接触Python? 小元是开发驱动底层的,比驱动还底层,没错就是底层设备内部程序。驱动层以下都是 C 的天下, 我为什么会接触到 Python? 2010 年的时候, 那时候 python 还没火, 那时候我就…

猿人学第1题(一天搞一个)

文章目录 前言 1. 加密方法1.1 加密寻找准备1.1.2 抓包分析1.1.3 调用堆栈前期试验理解中期操作 1.2 加密内容 2. 代码实现2.1 完整版代码2.2 python函数总结2.3 注意 前言 对js的基础一窍不通,最近才开始看。所以本文只是复现,别人的操作的逻辑。 如果…

猿人学 第一题

地址:http://match.yuanrenxue.com/match/1 思路: 1.找到传输加密地址,发现加密字段m,,通过全局搜索没有找到m值 2.通过该地址访问过的js文件排查到request,再通过断电发现m加密地方 3.找到对应的加密方…

JAVA保姆级教学(一)[安装及使用]

一.首先我们常用编写java的是idea和eclipse,在这里呢我们主要讲解的是eclipse,它的安装及配置比较复杂,小伙伴们耐心看完这篇文章,少迷路~ 二.首先,我们去官网自行下载eclipse和jdk,有的人刚接触java可能不会下载,那么…

常用服务和开放端口对照表

常用服务和开放端口对照表 代理服务器常用以下端口: (1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080 (2). SOCKS代理协议服务器常用端口号:1080 (3). FTP&am…

常用端口号\协议\服务对照表

转载于:https://blog.51cto.com/networktech/291211

常用端口号与对应服务

1、端口号 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。逻辑端口是指逻辑意…