JAVA每日作业day6.20

ok了家人们,今天学习了面向对象的继承,话不多说让我们看看怎么个事。

我们先把昨天学 面向对象-封装 的温习一下,来个例子

1,综合案例

做一个关于学生的随机点名器

定义了两个变量,name和age,给他们封装一下。

1,我们在main用了键盘录入方法,用于录入学生的数据,

2,定义数组,定义了一个学生类(student)类的数组,

3,for循环,方便录入学生数据,我们又创建一个类名student,用于接收数组的数据

4,定义随机数Random,用变量index去接收他,接收数组数据,打印结果。

ok我们进入今天学习的内容。

1,继承

        1.1 继承的概念

        1.2 代码中的继承(extend)

        

我们在父亲(Father)类,定义了三个属性,name,age和sex,定义了三个方法

wash(),cook(),sleep(),

我们让儿子(Son)类继承他,

继承他之后,我们就可以调用父亲类了的数据了,打印输出看下结果。

这就是面向对象-继承的基本使用了

2 继承的注意事项

        Java中的类只能单继承,不能多继承,(一个类只能有一个父类)

        不要为了继承而继承,一定要满足什么是什么的关系

 2.1 继承后私有成员的访问规则

        父类的私有成员不能被直接访问

我们在Perosn定义了,一个私密方法,一个私密变量。

让子类继承他,

当我们子类调用父类数据的时候均有报错,

2.2 继承后非私有成员的访问规则

        当通过子类访问非私有成员时,先在子类中找,如果找到就使用子类的,找不到就继续去父类中找。

父类和子类定义了同名的方法,我们在main方法上运行看一下

可以看到,我们调用了方法之后,是输出的子类的方法

2.3 继承后构造方法的访问规则

构造方法的名字是与类名一致的。所以子类是无法继承父类构造方法的。

2.4 方法重写(Override)

方法重写 :子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。声明不变,重新实现。  

方法重载:在同一个类中,方法名相同,参数列表不同

重写的注意事项:              

1.方法重写一定要是父子类关系              

2.方法重写要求返回值类型,方法名,参数列表要相同              

3.子类重写父类的方法,要求子类重写方法的访问权限大于或者等于父类方法的权限                  

权限修饰符: public >   protected   > 默认(空)   > private

我们上个例子

父类写了三个方法

子类继承

一样的方法名,我们直接用个super.run();

这个用法可以在你以后更新数据时直接使用。

3,每日作业

1,定义猫类Cat。属性:毛的颜色color,品种breed。行为:吃饭eat(),抓老鼠catchMouse()定义狗类Dog。属性:毛的颜色color,品种breed。行为:吃饭(),看家lookHome()要求:1.按照以上要求定义Cat类和Dog类,属性要私有,生成空参、有参构造,set和get方法2.定义测试类,在main方法中创建该类的对象并给属性赋值(set方法或有参构造方法)3.调用成员方法,打印格式如下:

根据题意,定义猫类Cat的属性,封装,定义两个方法。

狗类也是如此。

我们用有参方法去写

1,创建对象,录入数据

2,调用方法

3,输出

2,继承-创建类描述学生、老师;需求:1.学生和老师都具有的属性:姓名;性别;年龄;2.学生具有的行为:吃饭;睡觉;学习;其中,调用学习功能能够输出一句话:xxx在学习Java; 3.老师具有的行为:吃饭;睡觉;教学;其中,调用教学功能能够输出一句话:xxx在教Java;

创建老师类对象,封装,定义一个方法

学生类继承

这里用了两个方法,一个无参和一个有参方法,

1,创建对象,录入数据

2,setName录入数据

3,调用teach方法,

4,打印输出

3,继承-需求:定义类描述老张和小张,其中小张是老张的儿子,二者都有姓名、性别、年龄、地址等属性,都具有挣钱养家的功能,老张通过种地养家,小张通过写代码挣钱养家

根据题意,创建一个老张和小张类

小张类继承了老张类,并写了一个方法。

这题也是分别用了无参和有参方法,

ok了家人们明天见。

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

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

相关文章

自动化办公04 使用pyecharts制图

目录 一、柱状图 二、折线图 三、饼图 四、地图 1. 中国地图 2. 世界地图 3. 省会地图 五、词云 Pyecharts是一个用于数据可视化的Python库。它基于Echarts库,可以通过Python代码生成各种类型的图表,如折线图、柱状图、饼图、散点图等。 Pyecha…

Python之scapy(1)基础使用

Python之scapy(1)基础使用 Author: Once Day Date: 2024年6月4日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: Python开发_Once-Day的博客-CSDN博…

审稿人:拜托,请把模型时间序列去趋势!!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 时间序列分析是数据科学中一个重要的领域。通过对时间序列数据的分析,我们可以从数据中发现规律、预测未来趋势以及做出决策…

【python - 函数】

一、递归函数 如果函数体中直接或间接调用了函数本身,则函数称为递归(recursive)函数。也就是说,执行递归函数主体的过程中可能需要再次调用该函数。在 Python 中,递归函数不需要使用任何特殊语法,但它们确…

智慧消防新篇章:可视化数据分析平台引领未来

一、什么是智慧消防可视化数据分析平台? 智慧消防可视化数据分析平台,运用大数据、云计算、物联网等先进技术,将消防信息以直观、易懂的图形化方式展示出来。它不仅能够实时监控消防设备的运行状态,还能对火灾风险进行预测和评估…

大数据助力电商发展||电商API接口接入

伴随互联网尤其是移动互联网的高速发展,电子商务已经成为人们生活中不可或缺的一部分,人们的购物理念和消费模式正在发生颠覆性的转变。基于天然的数据优势,电子商务平台利用大数据计算技术不断实施数据的累积、分析和处理,消费者…

如何设计一个点赞系统

首先我们定义出一个点赞系统需要对外提供哪些接口: 1.用户对特定的消息进行点赞; 2.用户查看自己发布的某条消息点赞数量以及被哪些人赞过; 3.用户查看自己给哪些消息点赞过; 这里假设每条消息都有一个message_id, 每一个用户都…

[17] 使用Opencv_CUDA 进行滤波操作

使用Opencv_CUDA 进行滤波操作 邻域处理操作 > 滤波操作,拒绝或者允许某特定频段通过如果图像某处的灰度级变化缓慢,那么就是低频区域,如果灰度级变化剧烈,就是高频区域邻域滤波即卷积操作形态学处理:膨胀&#xf…

【论文通读】VideoGUI: A Benchmark for GUI Automation from Instructional Videos

VideoGUI: A Benchmark for GUI Automation from Instructional Videos 前言AbstractMotivationVideoGUIPipelineEvaluation ExperimentsMain ResultsAnalysis Conclusion 前言 数字智能体的探索又来到了新的阶段,除了常见的桌面工具如PPT,Word&#xf…

HTML(15)——盒子模型

盒子模型组成 内容区域 -width&height内边距-padding (出现在内容与盒子边缘之间)边框线-border外边距-margin (出现在盒子外面) div { width: 200px; height: 200px; background-color: rgb(85, 226, 193); padding: 20px; …

【项目实践】Ulike充电牙刷拆解

前言 用了一段时间的充电牙刷,某一次突然没电了,按键也没有反应。无奈只能废弃。最近略微得了些空闲,想着把它拆解看看里面的结构和电路。以下是鼓捣过程记录。 为什么不能直接抽出来? 在网上看到很多拆解视频,都是打开…

基于Windows API DialogBox的对话框

在C中,DialogBox函数是Windows API的一部分,它用于在Win32应用程序中创建并显示一个模态对话框。DialogBox函数是USER32.DLL中的一个导出函数,因此你需要在你的C Win32应用程序中链接到这个库。 #include "framework.h" #include …

修改a-menu菜单图标icon

1.通过触摸元素可知 这个箭头icon其实是通过::before和::after伪元素组合写出来的 2.模仿使用伪元素书写 同理,我们也使用伪元素写icon即可 ::v-deep .ant-menu{// 折叠.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow::after{wi…

五十一、openlayers官网示例Layer Min/Max Resolution解析——设置图层最大分辨率,超过最大值换另一个图层显示

使用minResolution、maxResolution分辨率来设置图层显示最大分辨率。 <template><div class"box"><h1>Layer Min/Max Resolution</h1><div id"map" class"map"></div></div> </template><…

conda创建虚拟环境报错解决

1.报错截图 2.解决办法 查看当前所有虚拟环境 conda env list 解决办法 解决方法 bash conda config --add channels conda-forge conda config --set channel_priority strict conda config --set channel_priority flexible

20240620每日后端---------Spring Boot中的 5 大设计模式最佳实践和示例 这些是我经常使用的设计模式并且非常喜欢

在本文中&#xff0c;我们将深入探讨五种基本设计模式&#xff0c;并探讨在 Spring Boot 项目中有效应用它们的最佳实践。每个模式都将附有一个实际示例来演示其实现。 单例模式 Singleton 模式确保一个类只有一个实例&#xff0c;并提供对它的全局访问点。这对于管理资源&am…

SpringBoot 实现全局异常处理

为什么要使用全局异常处理&#xff1f; 减少冗余代码&#xff1a; 在不使用全局异常处理器的情况下&#xff0c;项目中各层可能会出现大量的try {…} catch {…} finally {…}代码块&#xff0c;这些代码块不仅冗余&#xff0c;还影响代码的可读性。全局异常处理器允许我们在一…

常说的云VR是什么意思?与传统vr的区别

虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;是一种利用计算机技术模拟产生一个三维空间的虚拟世界&#xff0c;让用户通过视觉、听觉、触觉等感官&#xff0c;获得与现实世界类似或超越的体验。VR技术发展历程可追溯至上世纪&#xff0c;经历概念提出、…

计算机网络实验之单交换机互联终端实验

1.网线 4对&#xff0c;8根&#xff0c;RJ-45连接器&#xff08;水晶头&#xff09;&#xff1b; &#xff08;1&#xff09;直通线 双绞线缆两端按照EIA/TIA568B规格连接水晶头&#xff0c;该双绞线为直通线。 橘白1&#xff0c;橘2&#xff0c;绿白3&#xff0c;蓝4&#…

【vue3|第11期】Vue3中的ref属性:让元素引用变得简单

日期&#xff1a;2024年6月19日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…