Java面向对象特征(二)----- 继承

        前言:在Java中面向对象的特征有三个,分别是封装、继承、多态,而这篇文章讲解的是Java面向对象特征中的第二个封装。


如果想了解Java面向对象特征的封装的话,可以浏览---------------------------------------------------------->              Java面向对象特征(一)----- 封装-CSDN博客

目录

1.继承如何使用和其作用特点

继承的概念:

如何使用继承:

继承的特点:           

2.为什么要使用继承

3.继承的类型


那么废话不多说,我们立马开始讲解!!!

1.继承如何使用和其作用特点

        在学习如何使用继承之前,我们需要了解一下继承到底是什么:

继承的概念:

        继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

        我使用生活中的例子使大家更好的理解什么使继承:

Java中的继承并不是谁继承了谁的遗产什么什么的,而是子类继承父类的一些特性(包括属性,方法),即在父类中的东西其子类也可以使用(但是有一些不可以)

如何使用继承:

        我们写了一个Dog类:(这里就先不写一个标准的JavaBean了

        又写了个Cat类:

当我们想要使用继承的时候,就需要在类型的后面写上extends,并且把子类共有的特性放到父类中(如图):

这样就完成了继承!!!

继承的特点:           

        (1)子类拥有父类非 private 的属性、方法。

        (2)子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

        (3)子类可以用自己的方式实现父类的方法(重写父类的方法,即方法重写,)。

        (4)Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类.。

        (5)提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。

2.为什么要使用继承

        由于继承的作用和特点我们知道了,继承就是将将共性的代码放在父类中,这样子我们在定义一些变量和方法时,就不需要定义多边了,简化代码。

        解释(如图):

我们将猫(Cat)和狗(Dog)共有的属性定义在动物类(Animal)中,将猫狗继承父类动物类,这样子类(猫狗)就都有了名字和年龄的属性,但是猫狗自己特有的属性单独写到自己的类中,这样就完成了代码的简化。如果不使用继承,就会导致代码量大且臃肿,而且维护性不高(维护性主要是后期需要修改的时候,就需要修改很多的代码,容易出错),所以要从根本上解决这两段代码的问题,就需要继承,将两段代码中相同的部分提取出来组成 一个父类。

3.继承的类型

        继承类型有单继承,多重继承和不同的类继承同一个类。

4.完成继承后数据的使用


以上就是继承的基础认识了!!!

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

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

相关文章

2024-3-18-C++day6作业

1>思维导图 2>试编程 要求: 封装一个动物的基类,类中有私有成员:姓名,颜色,指针成员年纪 再封装一个狗这样类,共有继承于动物类,自己拓展的私有成员有:指针成员:腿的个数&a…

抖音无水印视频关键词批量下载|视频下载工具

抖音无水印视频关键词批量下载操作说明 我们根据自己的需要开发了抖音视频批量下载工具,现在市面上的视频无水印工具只能通过单个视频链接进行提取,太不方便 所以我们延伸出了 不仅可以通过单个视频链接进行提取也可通过关键词进行视频搜索 进行批量和有…

青海200MW光伏项目 35kV开关站图像监控及安全警示系统

一、背景 随着我国新能源产业的快速发展,光伏发电作为清洁能源的重要组成部分,得到了国家政策的大力扶持。青海作为我国光伏资源丰富地区,吸引了众多光伏项目的投资建设。在此背景下,为提高光伏发电项目的运行效率和安全性能&…

【Linux】日常使用命令(三)

文章目录 **cal 命令****date 命令****bc 命令****Linux下玩小游戏**: cal 命令 功能描述: cal 命令用于显示日历。 常用选项: -3:显示前一个月、当前月和下一个月的日历。-y:显示整年的日历。 常用示例: # 示例 1: 显示当前月的日历 cal# …

【vue】深入探讨vue中组件间多种传值方式

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【DL经典回顾】激活函数大汇总(二十一)(BReLU附代码和详细公式)

激活函数大汇总(二十一)(BReLU附代码和详细公式) 更多激活函数见激活函数大汇总列表 一、引言 欢迎来到我们深入探索神经网络核心组成部分——激活函数的系列博客。在人工智能的世界里,激活函数扮演着不可或缺的角色…

【ADF4351】使用FPGA进行SPI寄存器配置、使用FPGA计算各个频率的频点,ADF4351配置程序

简介 特性 输出频率范围:35 MHz至4,400 MHz 小数N分频频率合成器和整数N分频频率合成器 具有低相位噪声的VCO 可编程的1/2/4/8/16/32/64分频输出 典型抖动:0.3 ps rms EVM(典型值,2.1 GHz): 0.4% 电源:3.0 V至3.6 V …

MybatisPlus逆向工程

目录 🧂1.前提说明 🍿2.引入依赖 🌭3.使用导入模板 1.前提说明 注意 适用版本:mybatis-plus-generator 3.5.1 以下版本,3.5.1 及以上的请参考 3.5.1以上参考官网:3.5.1以上逆向工程 2.引入依赖 …

C#类型转换

C#类型转换 隐式类型转换 类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式: 隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的…

文件批量管理利器,一键复制备份安全删除原文件,让文件管理更高效!

在数字化时代,我们每天都在与各种文件打交道,从文档、图片到视频、音频,文件的管理和存储变得越来越重要。然而,手动逐个处理文件不仅繁琐,还容易出错。那么,有没有一种方法可以让我们轻松实现文件的批量管…

聚合音乐网-播放器网站源码

源码简介 MKOnlineMusicPlayer 是一款全屏的音乐播放器 UI 框架(为避免侵权,已移除所有后端功能)。 前端界面参照 QQ 音乐网页版进行布局,同时采用了流行的响应式设计,无论是在PC端还是在手机端,均能给您…

代码随想录算法训练营第14天 part01 | 二叉树理论基础篇

代码随想录 二叉树理论基础篇 二叉树的种类 二叉树有两种主要的形式:满二叉树和完全二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 这棵二叉树为满二叉树…

抖音无水印视频批量下载|视频爬虫采集工具

抖音无水印视频批量下载神器,关键词搜索轻松获取您想要的视频! 随着抖音视频内容日益丰富,您是否常常希望能够批量下载您感兴趣的视频,但现有工具只支持单个链接提取,操作繁琐?别担心,q19774701…

腾讯云服务器入站规则端口开放使用指南(CentOS系统)

第一步:开放安全组入站规则 来源处0.0.0.0/0是对IPv4开发,::/0是对IPv6开放; 协议端口按照提示填写即可。云服务器防火墙开放 第三步:本地防火墙开放 sudo firewall-cmd --zonepublic --add-port你的端口号/tcp --perma…

ACM题解|牛客周赛 Round 37

&#x1f525;博客介绍&#xff1a; EvLast &#x1f3a5;系列专栏&#xff1a; <<数据结构与算法>> << 算法入门>> << C项目>> &#x1f3a5; 当前专栏: << 牛客周赛>> 专题 : 数据结构帮助小白快速入门算法 &#x1f4…

算法沉淀——贪心算法二(leetcode真题剖析)

算法沉淀——贪心算法二 01.最长递增子序列02.递增的三元子序列03.最长连续递增序列04.买卖股票的最佳时机 01.最长递增子序列 题目链接&#xff1a;https://leetcode.cn/problems/longest-increasing-subsequence/ 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子…

HandyControl PropertyGrid及自定义编辑器

前提条件 项目引入对应HandyControl对应版本包。 使用案例 UI部分 <Window xmlns:hc"https://handyorg.github.io/handycontrol"><hc:TabControl><hc:TabItem Header"默认样式"><hc:PropertyGrid Width"380" SelectedO…

基于Spring Boot家政服务系统

摘 要 相比于以前的传统手工管理方式&#xff0c;智能化的管理方式可以大幅降低家政公司的运营人员成本&#xff0c;实现了家政服务的标准化、制度化、程序化的管理&#xff0c;有效地防止了家政服务的随意管理&#xff0c;提高了信息的处理速度和精确度&#xff0c;能够及时、…

MediaBox音视频终端SDK已适配鸿蒙星河版(HarmonyOS NEXT)

2024年1月&#xff0c;HarmonyOS NEXT 鸿蒙星河版系统开发者预览版开放申请&#xff0c;该系统将只能安装为鸿蒙开发的原生应用&#xff0c;而不再兼容安卓应用。对此&#xff0c;阿里云MediaBox音视频终端SDK产品已实现功能的鸿蒙化迁移和重构&#xff0c;全面适配鸿蒙系统Har…

wsl ubuntu 安装cuda nvcc环境

wsl ubuntu 安装cuda环境&#xff1a; CUDA Toolkit 11.6 Downloads | NVIDIA DeveloperDownload CUDA Toolkit 11.6 for Linux and Windows operating systems.https://developer.nvidia.com/cuda-11-6-0-download-archive?target_osLinux&target_archx86_64&Distri…
最新文章