首页 > 其他分享 >读书笔记

读书笔记

时间:2022-10-28 20:58:06浏览次数:84  
标签:读书笔记 继承 子类 多态 Animal new 方法

继承与多态

继承与方法重写override,什么是方法重写?

由子类重新定义从父类中继承来的方法,将其改变或延伸。成员变量不存在重写这个说法。

  1.   public void roam() {
  2.   // 继承父类方法的功能
  3.   super.roam();
  4.   // 扩展的功能
  5.   }
区分 IS-A 与 HAS-A 关系

IS-A,表示二者具有继承关系,这是一种单向的链式关系。
HAS-A,表示二者是包含关系。

四种访问控制修改符,它们有哪些区别?

private < default < protected < public
public类型的成员,会被继承。private类型的成员,不会被继承。
一个类的成员,包含自己定义的变量和方法,还包含从父类所继承下来的成员。

继承到底有什么意义?

避免重复的代码;定义共同的协议。

什么是多态?
  1.   对象的声明、创建与赋值:
  2.   Dog d = new Dog();

在上述对象的创建过程中,引用类型和对象的类型相同。在多态中,引用类型和对象的类型可以不同。

Animal d = new Dog();    // 这就是多态

在多态中,即引用类型可以是实际对象类型的父类(满足 IS-A 关系,就产生了多态)。

  1.   Animal[] animals = new Animal[3];
  2.   animals[0] = new Dog();
  3.   animals[1] = new Cat();
  4.   animals[2] = new Wolf();
  5.   for(int i=0; i<animals.length; i++) {
  6.   animals[i].eat(); // 调用子类Dog的 eat()方法
  7.   animals[i].roam(); // 调用子类Cat的 roam()方法
  8.   }
  9.    
  10.   Dog / Cat / Wolf 都是 Animals 的子类。

方法的参数或返回值,也可以是多态。

  1.   public Animal getAnimal( Animal a ) {
  2.   // 参数a, 可以是Animal子类的对象
  3.   return a; // 返回Animal对象或者其子类的实例对象。
  4.   }

使用多态,你就可以编写出引进新子类时也不必修改的程序。

继承关系中,方法覆写要遵守哪些约定?

  1. 参数必须要一样,且返回类型必须要兼容。
  2. 不能降低方法的存取权限。

什么是方法重载?
方法名相同,但参数列表不同,即是重载,它与方法的返回值类型、方法的存取权限都无关。方法重载与继承关系中的方法覆写有什么不同?

  1.   public class Overloads {
  2.   // 以下两个方法,即为方法重载
  3.   public int addNums ( int a, int b) {
  4.   return a + b;
  5.   }
  6.   public double addNums (double a, double b) {
  7.   return a + b;
  8.   }
  9.   }

 

标签:读书笔记,继承,子类,多态,Animal,new,方法
From: https://www.cnblogs.com/JIANGzihao0222/p/16837445.html

相关文章

  • 读书笔记2
    接口与抽象类(深入多态)什么是抽象类?用abstract关键字声明抽象类,抽象类不能用new关键字进行实例化。在设计继承结构时,必须决定清楚什么类是抽象类,什么类是具体类。编译器......
  • CSS权威指南 读书笔记 第一章节
    CSS规则中,@import必须放在最前面,否则无效,但本人目前现在用的很少;CSS对规则间的空格并不敏感,规则内的也不敏感,所以在CSS语句中分隔模式可以是空格、tab符、换行,也可组合使......
  • 《微服务架构与实践》读书笔记
    第一章单块架构及其面临的挑战经典的三层架构:表示层:聚焦数据显示和用户交互;业务逻辑层:聚焦业务逻辑处理;数据访问层:聚焦数据的存储和访问。传统的单块架构应用的表现:功......
  • 读书笔记
    本博客为笔者阅读《程序员修炼之道:从小工到专家》的读书笔记十月第一篇这个十月份过的也太紧张了,无论是活动事务还是学习事务感觉都过于繁重了,基本上每天都是连轴转着实是......
  • MySQL 读书笔记(一)
    1MySQL表1.1索引组织表在InnoDB存储引擎中,表都是根据主键顺序存放的,这种存储方式称为索引组织表。InnoDB存储引擎中,每张MySQL表都有一个唯一主键,如果创建表时......
  • 读书笔记08-《解忧杂货店》东野圭吾
    《解忧杂货店》(日文名:ナミヤ雑貨店の奇蹟)[百度百科https://baike.baidu.com/item/解忧杂货店/12346806?fr=aladdin]《解忧杂货店》是东野老师最“不推理”的作品,但实际上......
  • 《敏捷软件开发原则、模式与实践》(美)Robert C.Martin著 读书笔记(第一部分 敏捷开发 第
    关键词:《敏捷软件开发原则、模式与实践》,(美)RobertC.Martin,读书笔记,极限编程第二章极限编程概述极限编程(XP)实践1)客户作为团队成员  最好的情况是——客户和开......
  • 读书笔记07-《恶意》东野圭吾
    《恶意》(日文名:あくい)[百度百科https://baike.baidu.com/item/恶意/9896445?fr=aladdin]《恶意》是日本推理小说家东野圭吾老师的作品,是我心目中的佳作之一,其实这不是我......
  • 《敏捷软件开发原则、模式与实践》(美)Robert C.Martin著 读书笔记(第一部分 敏捷开发)
    关键词:《敏捷软件开发》原则、模式与实践》,(美)RobertC.Martin著,读书笔记,敏捷开发,敏捷实践 第一章敏捷实践敏捷联盟。       敏捷宣言:个体和交互......
  • 读书笔记 | 代码整洁之道
    介绍著名的软件专家RobertC.Martin在他的著作《代码整洁之道:AHandbookofAgileSoftwareCraftsmanship》中写道:“编写整洁的代码是你必须做的,因此才可以称自己为专业......