【职坐标】java面向对象三大特性(二)——继承详解

a) 什么是继承?

i. 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可
b) 为什么要使用继承?
i. 提高代码的复用性。
ii. 让类与类之间产生了关系,是多态的前提
c) 怎么使用继承?
i. 通过 extends 关键字让类与类之间产生继承关系  (注:子类可以直接访问父类中的非私有的属性和行为。)
ii. 子类和父类同名方法执行顺序的优先级

iii. 简单讲解四种访问修饰符及其权限

d)访问修饰符

1. private访问控制符
只能在这个类的内部使用。
2. 默认访问控制符
默认的访问控制成员可以被这个包中的其它类访问。(如果一个子类与其父类位于不同的包中,子类也不能访问父类中的默认访问控制成员和方法)
3. protected访问控制符
成员既可以被同一个包中的其它类访问,也可以被不同包中的子类访问。
4. public访问控制符
成员可以被所有的类访问,不管访问类与被访问类是否在同一个包中。
e) Java语言继承的特点
1. 单继承(一个儿子只能有一个爹)
2. 多层继承
f) super关键字
1. Super关键字的用途:在子类中引用父类中的成员变量和方法
2. Super关键字的使用场景
a) 当子父类出现同名成员时,可以用super进行区分
b) 子类要调用父类构造函数时,可以使用super语句
3. 对比this关键字和super关键字的区别
a) 变量、方法和构造方法的调用(注:在调用构造方法时super();和this();都是在构造函数的第一行,不能同时出现。)
方法覆盖(方法的重写)
1. 在继承中什么情况是方法的覆盖
a) 子类中出现与父类一模一样的方法时(除了权限修饰符,返回值类型,方法名和参数列表相同),会出现覆盖操作,也称为重写或者复写
b) 注:父类私有方法,子类看不到,因此父类私有方法的重写也就无从谈起。(权限比默认的大都可以重写)(默认的需注意要父类和子类要在同一个包中)
2. 为什么要使用方法重载?
a) 当子类需要父类的功能,而功能主体子类有自己特有内容时,可以复写父类中的方法,这样,既沿袭了父类的功能,又定义了子类特有的内容。
3. 使用方法重写时的注意事项
a) 重写方法时,子类的方法权限一定要大于等于父类的方法权限(不包括父类的private)
4. 方法重写和方法重载的区别
a) 根本区别:方法重写发生在有继承关系的两个类中,方法重载发生在一个类中
b) 方法重载的两个方法,方法名相同,方法签名不同,而方法的重写用在子类方法与父类方法的方法签名一模一样
5. Equals方法的重写(逻辑+快捷键)(为什么要重写equals)
6. 上下转型(优缺点)
a) 上转型 安全(子类转父类)
b) 下转型 (不安全)
什么时候要使用继承?(合理使用继承)
1. 如果类之间存在着IS-A的关系,就可以考虑使用继承
a) 对比is – a (继承关系)讲解Has-a(组合关系)
2. 注意:不要为了继承部分功能而去使用继承(举例说明)
e) 抽象类(构造方法)
1. 什么是抽象类?
a) 包含抽象方法的类(强调接口)
2. 为什么要使用抽象类?
a) 如果某个方法在父类中实现出来没有任何意义,必须根据子类的实际需求来进行不同的实现,那么就可以将这个方法声明为抽象方法,此时这个类也就成为抽象类类
3. 抽象类和普通类的区别
a) 抽象方法必须为public或者protected,缺省情况下默认为public。
b) 抽象类不能用来创建对象;
c) 如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类。

【职坐标】java面向对象三大特性(二)——继承详解相关推荐

  1. java 面向对象三大特性之继承 万字详解(超详细)

    目录 前言 : 一.为什么需要继承: 二.什么是继承(Warning : 篇幅较长)? 1.继承概述: 2.子类继承父类之后达到的效果 : ①如何使用继承? ②代码演示 : 3.继承的使用场景: eg ...

  2. 深入理解Java面向对象三大特性 封装 继承 多态

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  3. Java面向对象三大特性(封装继承多态)解释及案例

    文章目录 包 包基本语法 命名规则 命名规范 导入包实例 访问修饰符 面向对象编程-封装 面向对象编程-继承 super关键词 super和this的比较 方法重写/覆盖 (override) 注意事 ...

  4. Java面向对象三大特性之继承多态的预习笔记,are you ready? 面对疾风吧!

    文章目录 继承(extends) super关键字 方法重写 instanceof关键字 abstract关键字 接口(interface) 多态 继承(extends) AextendsB A继承了 ...

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

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

  6. 大数据必学Java基础(四十):面向对象三大特性之一继承(Inheritance)

    文章目录 面向对象三大特性之一继承(Inheritance) 一.列举案例说明 1.类是对对象的抽象

  7. 夯实Java基础系列1:Java面向对象三大特性(基础篇)

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  8. java 面向对象三大特性之多态 万字详解(超详细)

    目录 前言 : 一.为什么需要多态 : 1.白璧微瑕 : 2.举栗(请甘雨,刻晴,钟离吃饭): 3.代码 : 4.问题 : 二.什么是多态 : 1.定义 : 2.多态的实现步骤(重要) : 三.多态的 ...

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

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

最新文章

  1. 二、StreamAPI
  2. .NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践
  3. linux 中常用安装配置
  4. biodist r语言_R语言 Biostrings包 pairwiseAlignment()函数中文帮助文档(中英文对照)
  5. 多线程写图像文件的一点小测试
  6. python3 Tkinter GUI 试水
  7. 百度区块链 xuperchain 节点端 tps统计脚本
  8. 虚拟机里Ubuntu编译内核方法
  9. 免费思维导图工具推荐,办公必备
  10. jQuery画廊插件-GalleryView
  11. tolua++ 参考手册
  12. MAC帧经过路由器,源目标MAC地址会改变,但是IP的源,目的地址不会改变
  13. 18位身份证的正则表达式并说明
  14. 数值范围_想顺产的话,这个数值最好别超出此范围,否则顺产的分娩风险大!...
  15. 直播平台开发时iOS 开发内购功能,直播平台源码搭建
  16. 【java】Deepin 解决JDK出现Picked up _JAVA_OPTIONS: -awt.useSystemAAFontSettings=gasp的问题
  17. 储留香:从丞相说到文件系统
  18. 大前端时代的乱流:带你了解最全面的 Flutter Web
  19. 深圳软件测试培训学习:【性能术语】八大类性能测试
  20. 手把手教你做一个自己的chrome扩展程序

热门文章

  1. 网站运营怎么寻找“种子用户”?
  2. 可视化数据大屏选择简报
  3. 线性代数---行列式计算技巧篇
  4. Impala的操作命令
  5. Tomcat 中的可插拔以及 SCI 的实现原理
  6. vim使用ctrl+v与粘粘快捷键冲突无法进入可视化块怎么办
  7. Subspace Inversion
  8. SimLab Composer 10 for Mac(3D场景制作软件)
  9. 智慧工地安全帽识别检测算法 yolov5
  10. 进口跨境电商erp系统