JAVA每日作业day6.20

news2024/10/23 4:38:54

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了家人们明天见。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java封装模块为jar包- FUSE 智能BPM低代码平台-企业级

第一种方法 将打好的项目模块jar放入lib文件夹内 操作后 项目便有了此jar包的依赖 第二种方法 使用 maven引入 可以参考我之前发的博客 IDEA导入jar包_idea导入jar包方法-CSDN博客

简单分享github

一、官网 GitHub: Let’s build from here GitHub 二、注册 通过简单的注册步骤,你就可以拥有一个属于自己的GitHub账号。再简单注册完成之后会需要验证你所输入的邮箱才能正常使用你的GitHub。 三、设置自己的库 在注册完成之后,完成一些简单的设置之…

PS给logo加白色描边

步骤1:打开你的Logo文件 步骤2:选择Logo层 在“图层”面板中找到你的Logo所在的图层。如果你的Logo是在背景图层上,可以将它转换为普通图层(右键点击背景图层,选择“从背景图层转换”)(此处也…

【转载】TIOBE 编程指数 6 月排行榜公布,vb.net排第九

原文地址:https://baijiahao.baidu.com/s?id1801368030428902126&wfrspider&forpc IT之家 6 月 9 日消息,TIOBE 编程社区指数是一个衡量编程语言受欢迎程度的指标,评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎&#…

【服务器02】之阿里云平台

百度一下阿里云官网 点击注册直接使用支付宝注册可以跳过认证 成功登录后,点击产品 点击免费试用 点击勾选 选一个距离最近的 点满GB 注意:一般试用的时用的是【阿里云】,真正做项目时用的是【腾讯云】 现在开始学习使用: 首先…

Samtec制造理念系列二 | 差异变量管理的意义与挑战

【摘要/前言】 制造高端电子产品是非常复杂精密的过程。制作用于演示或原型的一次性样品可能具有挑战性,但真正的挑战在于如何以盈利的方式持续生产。 这就是Samtec风险投资研发工程总监Aaron Tucker在一次关于生产高密度微小型连接器的挑战的演讲中所强调的观点。…

使用宝塔面板搭建Flask项目保姆级喂饭教程

目录 零.前言 一.准备工作 1.1创建requirements.txt文件 1.2将项目打包为压缩文件 1.3租一台服务器 1.4部署宝塔面板 二.宝塔面板(服务器)上的操作 2.1将本地Flask项目上传到服务器 2.2添加Python项目 2.3配置Python项目 2.4配置Nginx 2.5宝塔面板放行端口 2.6在服…

2024年一建报名汇总和常见问题答疑!

2024年一级建造师报名通知全国32个地区均已发布,考试100汇总如下,大家务必及时报名,千万不要错过! ​ 报名问题 01、时间不多了,今年可以先考部分学科吗?分两年考完? 可以的,一建…

视觉SLAM14精讲——相机与图像3.3

视觉SLAM14精讲 三维空间刚体运动1.0三维空间刚体运动1.1三维空间刚体运动1.2李群与李代数2.1相机与图像3.1相机与图像3.2 视觉SLAM14精讲——相机与图像3.3 视觉SLAM14精讲相机投影流程双目相机模型 相机投影流程 至此,有关相机三维刚体变换的所有因素已经汇集。…

朗科HD10M2Pr震撼上市,自带风扇极速降温,匹敌私有云

近日,存储领域的领军企业朗科旗下全资子公司朗科创新宣布,其最新款磁吸硬盘盒HD10M2Pr正式上市。这款产品凭借超薄设计、极速降温、高速传输等多项优势,迅速成为了行业内的讨论焦点。 随着移动设备使用的普及和短视频内容的日益丰富,对于存储空间不断增长的需求逐渐成为日常生活…

react项目中如何书写css

一:问题: 在 vue 项目中,我们书写css的方式很简单,就是在 .vue文件中写style标签,然后加上scope属性,就可以隔离当前组件的样式,但是在react中,是没有这个东西的,如果直…

如何解决windows自动更新,释放C盘更新内存

第一步:首先关闭windows自动更新组件 没有更新windows需求,为了防止windows自动更新,挤占C盘空间,所以我们要采取停止Windows Update服务。按下WinR打开运行对话框,输入services.msc, 然后按Enter。在服务…

数据安全治理全面解析:企业数字化转型的守护者

在数字化时代,数据成为了企业至关重要的资产,这包括敏感的知识产权、商业机密、交易数据,以及与员工、客户和业务合作伙伴有关的所有业务相关数据。这些数据不仅对企业具有极高的价值,同时也吸引了那些企图非法获取利益的不法分子…

连锁餐厅降低员工离职率:发誓!绝不是靠“舌尖上的诱惑”

员工社交与成长,企业福利与文化,沃可趣多维度优化员工体验。 连锁餐饮业在全球范围内迅速发展,要为消费者提供更多便利,2023年中国餐饮市场连锁化率达到21%。 然而,这些分散式门店为企业运营创造了挑战。Black Box I…

微信小程序使用方法

一.在网页注册小程序账号(在未注册的情况下) 1.如果你还没有微信公众平台的账号,请先进入微信公众平台首页,点击 “立即注册” 按钮进行注册。我们选择 “小程序” 即可。 接着填写账号信息,需要注意的是,…

MATLAB直方图有关的函数

histogram Histogram plot画直方图 histcounts 直方图 bin 计数 histcounts是histogram的主要计算函数。 discretize 将数据划分为 bin 或类别 histogram2 画二元直方图 histcounts2 二元直方图 bin 计数 hist和histc过时了。替换不建议使用的 hist 和 histc 实例 hist → \r…

【C语言】函数指针

首先看一段代码&#xff1a; #include <stdio.h>void test(){printf("hehe\n");}int main(){printf("%p\n", test);printf("%p\n", &test);return 0;} 输出的结果&#xff1a; 输出的是两个地址&#xff0c;这两个地址是 test 函数的…

[Mysql] 的基础知识和sql 语句.教你速成(上)——逻辑清晰,涵盖完整

目录 前言 上篇的内容概况 下篇的内容概况 数据库的分类 关系型数据库 常见的关系型数据库系统 非关系型数据库 1. 键值对数据库&#xff08;Key-Value Stores&#xff09; 特点&#xff1a; 常见的键值对数据库&#xff1a; 2. 文档数据库&#xff08;Document Store…

SpringBootWeb 篇-入门了解 Vue 前端工程的创建与基本使用

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 基于脚手架创建前端工程 1.1 基于 Vue 开发前端项目的环境要求 1.2 前端工程创建的方式 1.2.1 基于命令的方式来创建前端工程 1.2.2 使用图形化来创建前端工程 1.…

最新源支付系统源码 V7版全开源 免授权 附搭建教程

简介&#xff1a; 最新源支付系统源码_V7版全开源_免授权_附详细搭建教程_站长亲测 YPay是专为个人站长打造的聚合免签系统&#xff0c;拥有卓越的性能和丰富的功能。它采用全新轻量化的界面UI&#xff0c;让您能更方便快捷地解决知识付费和运营赞助的难题。同时&#xff0c;…