继承的概念:

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

生活中的继承:

兔子和羊属于食草动物类,狮子和豹属于食肉动物类。

食草动物和食肉动物又是属于动物类。

所以继承需要符合的关系是:is-a,父类更通用,子类更具体。

虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

类的继承格式:

在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:

为什么需要继承:

接下来我们通过一个实例来说明这个需求

开发动物类,其中动物名称分别为企鹅和老鼠,要求如下:

  1. 企鹅:属性(id,姓名),方法(吃,睡,自我介绍)
  2. 老鼠:属性(id,姓名),方法(吃,睡,自我介绍)

从这两段代码可以看出,代码存在重复了,导致后果就是代码量大且臃肿,而且维护性不高。所以要从根本上解决这两段代码的问题,就需要继承,将两段代码中相同的部分提取出来组成一个类。

这个Animal 类就可以作为一个父类,然后企鹅和老鼠类继承这个类后,就具有了父类当中的属性和方法,子类就不会存在重复的代码,维护性也提高了,代码也更加整洁,提高了代码的复用性,继承之后的代码:

企鹅类

老鼠类

继承类型

需要注意的是 Java 不支持多继承,但支持多重继承。

继承的特性:

子类拥有父类非private 的属性和方法

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

子类可以用自己的方式实现父类的方法

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

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

div不继承父类样式_Java三大特性之继承相关推荐

  1. java 继承作用_java三大特性之继承

    继承(extends): 让类与类之间产生关系,子父类的关系 继承的好处与弊端: 好处: 提高代码的复用性 提高了代码的维护性 让类与类之间产生关系,是多态的前提 弊端: 类的耦合性增加 开发的原则是 ...

  2. java三大特性 继承_java基础(二)-----java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  3. java 集成_java提高篇(二)-----理解java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  4. 面向对象的三大特性之继承

    # 面向对象的三大特性之继承# 当类之间有显著不同,并且较小的类是较大的类所需要的组件时,用组合比较好 (如机器人) # 当类之间有很多相同的功能,提取这些共同的功能做成基类,用继承比较好 (动物-- ...

  5. 【转】java提高篇(二)-----理解java的三大特性之继承

    [转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...

  6. Java提高篇 —— Java三大特性之继承

    一.前言 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事 ...

  7. Python - 面向对象编程 - 三大特性之继承

    继承 继承也是面向对象编程三大特性之一 继承是类与类的一种关系 定义一个新的 class 时,可以从某个现有的 class 继承 新的 class 类就叫子类(Subclass) 被继承的类一般称为父 ...

  8. 04 面向对象之:三大特性:继承,封装,多态

    前言: Python面向对象的三大特性:继承,封装,多态 1.封装:把很多数据封装到一个对象中,把固定功能的代码封装到一个代码块,函数,对象,打包成模块.这都属于封装的思想.具体的情况具体分析,比如, ...

  9. Python面向对象之:三大特性:继承,封装,多态以及类的约束

    前言: python面向对象的三大特性:继承,封装,多态. 1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情 ...

最新文章

  1. linux进程服务,Linux服务及进程
  2. 数据科学竞赛-计算机视觉赛流程
  3. 37 Reasons why your Neural Network is not working
  4. stract oracle,ORACLE 字符串聚合函数 strCat
  5. linux sudo 免密码
  6. python画一条水平直线(matplotlib)
  7. Python中的openpyxl如何对excel修改文件
  8. layui表格——table.render(options)(转)
  9. Wi-Fi 6 「破茧成蝶」,高通全面布局端到端最佳解决方案
  10. iOS 清理缓存方法
  11. 雪豹学院主办“2019年《ASM敏捷大咖》见修系列公开课”深圳宝安站活动圆满结束
  12. 武汉江夏区计算机大专,武汉江夏职业技术学校2021年招生简章
  13. 使用 Tenderly 为区块链交易设置警报通知
  14. 左神进阶班-KMP算法
  15. 故事版(StoryBoard)的学习-----使用prepareForSegue方法
  16. XUL 用户界面语言介绍
  17. gsoc 任务_gsoc 2020火箭聊天React式全屏作曲家
  18. janus videoroom之媒体录制
  19. 大学STEM教育的技能水平和收获
  20. 全方位解读Web3域名:DID基石、NFT新增长点

热门文章

  1. java gc error_java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案
  2. qt 子窗口与父窗口数据通信_Qt实例--主窗口和子窗口互发信号
  3. Ubuntu 安装 Redis (非源码Build方式)
  4. 利用JAVA获取远程文件及使用断点续传 供学习者使用
  5. jQuery常用方法
  6. Spring Boot学习笔记:Spring Boot的Web功能
  7. 解决Windows 10下MySQL 5.7中文乱码问题
  8. CTSC2017APIO2017
  9. 二叉树C++ | 广度优先遍历(层级顺序遍历)_2
  10. Intel Core Enhanced Core架构/微架构/流水线 (4) - 流水线前端概述