【精选】java继承、object、封装初阶(子类,父类继承)

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

前言:

封装:

继承

继承的好处

继承的格式

什么时候使用继承

继承的特点

练习

1、画图

2、代码


前言:

封装:

对象代表什么,就得封装对应的数据,并提供数据对应的行为

封装的主要目的是隐藏对象的内部表示和状态,通过定义公共的方法(也称为访问器方法或 getter/setter 方法)来控制对数据的访问和操作,从而保证数据的安全性和一致性,避免直接对数据进行非法的修改。

Java 提供了三个关键字来实现封装:private、protected 和 public

  1. private:私有访问修饰符,用于限制成员的访问范围仅限于所属类内部。私有字段和方法只能在所属类的内部访问,无法从外部直接访问。
  2. protected:受保护的访问修饰符,用于限制成员的访问范围仅限于所属包内和子类内部。受保护的字段和方法可以在同一包内的其他类中访问,也可以在子类中访问。
  3. public:公共访问修饰符,用于标识成员可以在任何位置被访问。公共字段和方法可以在任何位置访问,包括外部类、其他类和其他包。
public class Person {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {if (age > 0) {this.age = age;}}
}

在上述示例中,字段 name age 被声明为私有字段,并提供了公共的访问器方法 getName()setName()getAge()setAge()

继承

继承的好处

  1. 提高代码的复用性(减少代码冗余,相同代码重复利用)。
  2. 使类与类之间产生了关系。

继承的格式

通过 extends 关键字,可以声明一个子类继承另外一个父类,定义格式如下:

class 父类 {...
}class 子类 extends 父类 {...
}

需要注意:Java是单继承的,一个类只能继承一个直接父类,跟现实世界很像,但是Java中的子类是更加强大的。

继承的格式

public class 子类 extends 父类 {}public class student extends person {}

student称为子类person称为父类

什么时候使用继承

继承的特点

  • Java只支持单继承,不支持多继承,但是支持多层继承(就相当于孙子和爷爷的关系)
  • 多层继承:子类A继承继承父类B,父类B可以继承父类C
  • 每一个类都直接或者间接地继承object
  • 子类只能访问父类中的非私有的成员(public公共,private私有的
public class A {}
##像这样的,A看着是没有父类,但是默认没有,就继承object类

下面这张图片,很形象的体现了Java只支持单继承,不支持多继承

但是我们在学习C语言的时候,C语言是允许子类有多个父类的

练习

现在有四种动物:布偶猫、中国狸花猫、哈士奇、泰迪。

暂时不考虑属性,只要考虑行为。

请按照继承的思想特点进行继承体系的设计。

四种动物分别有以下的行为:

  • 布偶猫:吃饭、喝水、抓老鼠

  • 中国狸花猫:吃饭、喝水、抓老鼠

  • 哈士奇:吃饭、喝水、看家、拆家

  • 泰迪:吃饭、喝水、看家、蹭一蹭

1、画图

我们先进行画图,然后进行代码的分析与讲解

2、代码

这里总共需要写8个代码

1、Animal

//权限修饰符
//private修饰的话:子类无法访问,private是私有的//注意:
//子类只能访问父类中非私有的方法
package demon;public class Animal {//权限修饰符//private修饰的话:子类无法访问,private是私有的//注意://子类只能访问父类中非私有的方法public void eat(){System.out.println("吃东西");}public void drink(){System.out.println("喝水");}
}

2、Cat

package demon;public class Cat extends Animal{public void catchmouse(){System.out.println("猫在抓老鼠");}
}

3、Dog

package demon;public class Dog extends Animal{public void lookhome(){System.out.println("狗看家");}
}

4、Lihua

package demon;public class Lihua extends Cat{}

5、Hahky

package demon;public class Hahky extends Dog{public void breakhome(){System.out.println("哈士奇在拆家");}
}

6、buermao

package demon;public class buermao extends Cat{}

7、Tedy

package demon;public class Tedy extends Dog{public void touch(){System.out.println("泰迪在乱蹭");}
}

8、测试Test

package demon;public class Test {public static void main(String[] args) {//创建对象,并调用方法//1.创建布偶猫的对象buermao bu = new buermao();bu.catchmouse();bu.eat();bu.drink();System.out.println("----------------------------------------------");//2.创建哈士奇的对象Hahky h = new Hahky();h.breakhome();h.lookhome();h.eat();}
}

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

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

相关文章

JS document对象详解

JS document对象详解 1.document对象简介2.document对象常用的属性document.URLdocument.referrer 3.document对象方法document.writedocument.writeln 1.document对象简介 document对象其实是window对象下的一个子对象,它操作的是HTML文档里所有的内容。实际上&am…

[文本挖掘和知识发现] 03.基于大连理工情感词典的情感分析和情绪计算

作者于2023年8月新开专栏——《文本挖掘和知识发现》,主要结合Python、大数据分析和人工智能分享文本挖掘、知识图谱、知识发现、图书情报等内容。这些内容也是作者《文本挖掘和知识发现(Python版)》书籍的部分介绍,本书预计2024年…

获取未来的5分钟整点时间05,10,15,20,25...

比如预约网约车的时候,是按5分钟的整点时间 GetMapping("/getFiveNextTime")public String fiveNextTime(RequestParam(defaultValue "0") Integer interval) {Calendar calendar Calendar.getInstance();calendar.add(Calendar.MINUTE, (5 …

二、人工智能之提示工程(Prompt Engineering)

黑8说 岁月如流水匆匆过,哭一哭笑一笑不用说。 黑8自那次和主任谈话后,对这个“妖怪”继续研究,开始学习OpenAI API!关注到了提示工程(Prompt Engineering)的重要性,它包括明确的角色定义、自然语言理解(…

软件测试学习笔记-测试用例的编写

7中测试分类 按照阶段可划分单元测试、集成测试、系统测试、验收测试。代码可见度划分黑盒测试、灰盒测试、白盒测试 单元测试:针对源代码的测试 集成测试:针对接口进行测试 系统测试:针对功能和非功能的测试 验收测试:公测、内测…

STM32外部中断(红外传感器与旋转编码器计数案例)

文章目录 一、介绍部分简介中断系统中断执行流程STM32中断NVIC基本结构NVIC优先级分组外部中断外部中断简介外部中断基本结构外部中断的流程AFIOEXTI框图 相关外设介绍旋转编码器介绍硬件电路对射式红外传感器 二、代码实现对射式红外传感器计次连接电路封装红外传感器与中断函…

【开源】基于JAVA+Vue+SpringBoot的河南软件客服系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、系统展示四、核心代码4.1 查询客户4.2 新增客户跟进情况4.3 查询客户历史4.4 新增服务派单4.5 新增客户服务费 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的河…

2024/2/3学习记录

微信小程序 小程序中组件的分类 视图容器 view 普通视图区域,类似于 div 常用来实现页面的布局效果。 scroll-view 可滚动的视图区域,常用来实现滚动列表效果 swiper 和 swiper-item 常用 swiper 组件的常用属性 轮播图容器组件和轮播图item组件 基…

记录 arm 开发板上 nginx 配置 http 服务注意事项

1. 自定义项目,需要在 conf.d 目录中增加一个 .conf 配置文件: server {listen 9200; # 端口号server_name localhost; # 服务名称location / {root /home/imx6q/media; # 项目根目录(需要修改 n…

Vue引入Axios

1.命令安装axios和vue-axios npm install axios --save npm install vue-axios --save 2.package.json查看版本 3.在main.js中引用 import axios from axios; import VueAxios from vue-axios; Vue.use(VueAxios,axios) 4.如何使用 (初始化方法) 将下列代…

HCIA-Datacom实验指导手册:4.2 实验二:AAA配置实验

HCIA-Datacom实验指导手册:3.3 实验三:以太网链路聚合实验 一、实验介绍:display ssh server ip-block all通过Telnet登录时,解除对IP地址10.1.2.3的锁定。通过STelnet登录时,解除对IP地址10.1.2.3的锁定。解除对用户名…

有什么不同? Elastic 数据层和 Amazon OpenSearch Service 层

作者:来自 Elastic Ugo Sangiorgi 了解 Elastic 和 Amazon OpenSearch Service 数据层之间的主要差异,以实现更智能、经济高效的数据管理。 在数据管理领域,在讨论如何在不同的性能要求下提供和/或保留数据时,经常会出现 “热 (h…

04、全文检索 -- Solr -- 管理 Solr 的 core(使用命令和图形界面创建、删除 core,以及对core 目录下的各文件进行详细介绍)

目录 管理 Solr 的 core创建 Core方式1:solr 命令创建演示:使用 solr 命令创建 Core:演示:命令删除 Core(彻底删除) 方式2:图形界面创建Web控制台创建CoreWeb控制台删除 Core(未彻底…

C语言:详解操作符(上)

摘要: 本篇,我们将学习C语言中操作符的相关内容,操作符是C语言中重要的元素之一,在我们的代码中处处都有,下面我们将详细介绍操作符的相关内容,并结合一些代码例题加深印象。 目录 一、操作符的分类及介绍 …

【Matplotlib】figure方法之图形的保存

🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:matplotlib 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

学成在线:媒体资源管理系统(MAM)

媒体资源管理系统(MAM) 媒体资源管理系统(Media Asset Management)是建立在多媒体、网络、数据库和数字存储等先进技术基础上的一个对各种媒体及内容进行数字化存储、管理以及应用的总体解决方案,可以满足媒体资源拥有者收集、保存、查找、编辑、发布各种信息的要求,为媒体资源…

css1文本属性

一.颜色(color)(一般用16进制) 二.对齐(text-align) 三.装饰(text-decoration) 四.缩进(text-indent)(一般用2em)(有单位)…

电商数据采集:选择爬虫工具还是第三方API?

电商商家最常唠叨的就是店铺运营难做。每日多平台店铺数据统计汇总繁琐耗时,人工效率偏低,且工作内容有限。 特别是眼下“618大促”将至,如何提高运营的效率和质量、保证产品及服务的良性运作,是电商企业急需解决的难题。 01 数…

thinkadmin的form.html表单例子

<style>textarea {width: 100%;height: 200px;padding: 10px;border: 1px solid #ccc

洗袜子的小型洗衣机哪种好?质量好的迷你洗衣机推荐

随着生活水平的提高&#xff0c;消费者对生活质量的要求也越来越高&#xff0c;越来越多的人开始追求更加舒适、干净的生活。在脚部保健方面&#xff0c;袜子往往是人们关注的重点。袜子洗衣机就是一种专门用于清洗袜子的洗衣机&#xff0c;可以将各种材质的袜子在短时间内进行…