1 方法重写必须满足以下要求:
1 重写方法与被重写的方法必须方法名相同,参数列表相同。
2 重写方法与被重写的方法返回值类型必须相同或是其子类
3 重写方法不能缩小被重写方法的访问权限

2 重载和重写有什么区别和联系
重载涉及同一个类中的同名方法,要求方法名相同,参数列表不同,与访问类型访问修饰符无关
重写涉及的是子类和父类之间的同名方法,要求方法名相同、参数列表相同,返回值类型相同(或是其子类)、访问修饰符不能严于父类

3 抽象类的实现相关问题详解:
Calendar c = new Calendar(); 出现 new Calendar()就会执行实例化一个对象了。所以如果是抽象类就不能这样new的。要new 它没有abstract的子类。

   抽象类是指不允许被实例化的类;抽象方法是没有方法体的方法。
   1、抽象类可以不包括抽象方法,它反正不会去实例化,抽象类不能被实例化,也就是不能用new关键字去产生对象,抽象方法只需声明,而不需实现,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类,里面的方法是不是抽象的没有本质影响。
   2、但是含有抽象方法的类绝不能被实例化,否则执行这个方法的时候,怎么办?
   3、如果子类是非抽象的,那么它就必须实现父类中的抽象方法;否则,它继承来的抽象方法仍然没有方法体,也是个抽象方法,此时就与“含有抽象方法的类必须是抽象类”相矛盾了。

   抽象类与接口紧密相关,它们不能实例化,并且常常部分实现或根本不实现。抽象类和接口之间的一个主要差别是:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承。从抽象类派生的类仍可实现接口。可以在创建组件时使用抽象类,因为它们使您得以在某些方法中指定不变级功能,但直到需要该类的特定实现之后才实现其他方法。抽象类也制定版本,因为如果在派生类中需要附加功能,则可以将其添加到基类而不中断代码。

   在实现抽象类时,必须实现该类中的每一个抽象方法,而每个已实现的方法必须和抽象类中指定的方法一样,接收相同数目和类型的参数,具有同样的返回值。

4 关于抽象类、抽象方法相关的概述
//抽象方法:只包含方法定义,但没有具体实现的方法,需要其子类或者子类的子类来具体实现。
//静态方法不能标记为 override、virtual 或 abstract,即静态方法都必须是具体的
/抽象类:含有一个或多个抽象方法的类称为抽象类,在声明时,类名前须添加"abstract"关键字
//抽象类中可以包含非抽象方法
//抽象类不能够被实例化,这是因为它包含了没有具体实现的方法,即可实例化的类一定不是抽象类,不包含未具体实现的抽象方法。
//子类继承抽象父类后,可以使用override关键字覆盖父类中的抽象方法,并做具体的实现。也可以不实现抽象方法,留给后代实现,这时子类仍旧是一个抽象类,必须声明为abstract
//继承的抽象方法不可以被隐藏
//隐藏:在子类中创建与父类中的方法具有相同签名(相同的方法名,相同的参数列表--参数类型和次序)的方法(可以带有"virtual"或"override"关键字)即可实现,但建议使用"new"关键字,以明确地隐藏。
//只能使用"override"关键字来覆盖(override)父类中标记为"virtual"、"abstract"或"override"的方法,而子类中标记为override的方法,也必须是父类中标记为"virtual"、"abstract"或"override"的方法。
//覆盖(override):必须使用override关键字,可以被覆盖的方法包括标记为abstract,virtual,和override的方法;
//隐藏:使用new关键字,也可不使用关键字,可以被隐藏的方法包括一般方法,和标记为virtual"或"override"的方法;
//重载(overload):不需要任何特殊的关键字//静态方法可以被隐藏或重载

5 抽象类至少包含一个抽象方法,抽象类无法实例化(即无法new),只能靠子类去实现父类的抽象方法,子类可以直接继承父类的非抽象方法。抽象方法无方法体,接口无方法体

转载于:https://www.cnblogs.com/1446358788-qq/p/4773829.html

oop第二章1知识点汇总相关推荐

  1. 信息管理导论川大667 | 第二章核心知识点

    第二章 信息环境与信息社会 1. 信息环境与信息社会 1.1 信息环境 #mermaid-svg-WTFRsKb2ZJcbsO8W {font-family:"trebuchet ms&qu ...

  2. 第二章 物理层[知识点+课后习题+练习题]

    目录 物理层基本概念 物理层接口特性 数据通信 基础知识 数据通信相关术语 设计数据通信系统要考虑的三个问题 码元 数字通信系统数据传输速率的两种表示方法 带宽 奈氏准则 香农定理 失真 失真的一种现 ...

  3. Java OOP 第二章 继承

    Java OOP 继承 文章目录 Java OOP 继承 一.学习目标 二.继承 三.类的继承关系示例 四.深入理解继承 五.Object类 六.方法重写 七.本章总结 一.学习目标 掌握继承的优点和 ...

  4. 数据库系统概论 第二章关系数据库 知识点总结

    目录 1.  关系数据结构及形式化定义 1.1 关系 1.1.1 笛卡儿积 1.1.2 关系 1.2  关系模式 1.3 关系数据库 2. 关系操作 2.1 基本的关系操作 2.2 关系数据语言的分类 ...

  5. 【邱锡鹏-神经网络与深度学习】第一章绪论 知识点汇总

    深度学习是机器学习的分支,从有限样例中通过算法总结出一般性的规律,应用到未知的数据上. 深度学习:原始数据输入--->多个线性或非线性组件--->每个组件对信息进行加工,影响后续组件--- ...

  6. 考研 计算机网络第二章物理层 知识点总结

    物理层基本概念 物理层解决如何在连接各计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体. (传输媒体指的是数据在传输过程中需要经过的介质,比如光纤.电缆.同轴电缆.双绞线等,物理层就是用来传输 ...

  7. 体系结构 第二章习题知识点

    1. MIPS MIPS 是指计算机的运行速度. MIPS(Million Instructions Per Second):单字长定点指令平均执行速度 Million Instructions Pe ...

  8. Kotlin学习笔记 第一章开始 第二章 基础

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 本系列为参考Kotlin中文文档 https://download.csdn.net/dow ...

  9. 计算机网络第二章物理层试题,计算机网络试题第二章物理层_跨考网

    一.填空题 1从双方信息交互的方式来看,通信有以下三个基本方式:()通信.( )通信和( )通信. (第二章 物理层知识点: 通信的方式答案: 单工.半双工.全双工.) 2每赫带宽的理想低通信道的最高 ...

最新文章

  1. 三十五、Scrapy 中的杂知识总结和代理池的编写
  2. Zookeeper基于Java 访问-权限控制的案例演示
  3. ngCloak 实现 Angular 初始化闪烁最佳实践
  4. html path属性,HTML Location pathname用法及代码示例
  5. 谨慎使用Hibernate中的本机SQL
  6. centos7 安装 node.js 运行环境、卸载
  7. 史上最全java架构师技能图谱(上)
  8. centos7ubuntu搭建Vulhub靶场(推荐Ubuntu)
  9. mpvue两小时,产出一个《点钞辅助工具》小程序
  10. 在静态SQL中实现动态WHERE子句
  11. oracle学习日志---返回RemoteOperationException: ERROR: Wrong password for user-错误的用户名密码-的错误的解决办法...
  12. ubuntu 时区 修改时间 保存 重启 变化等
  13. java tcp socket 关闭_JAVA SOCKET和TCP四次挥手
  14. 数据库系统概论第五版(王珊) 课后习题答案
  15. 16进制颜色转换RGB原理
  16. iOS 强制屏幕旋转
  17. 支付宝统一收单接口实现支付宝支付
  18. 涨跌的例题用C语言编辑,涨跌比率指标用法及源代码(ADR)
  19. 有域名有服务器没有网站可以备案吗,只有域名没有服务器可以备案吗
  20. linux下scp提示文件名过长,Linux中crontab下scp文件传输的两种方式

热门文章

  1. kmeans聚类源代码
  2. 自动更新变成灰色的解决方法
  3. ADO.NET 连接Access2007和Access2003
  4. Office中如何实现公式颜色的更改?
  5. 神经网络侧枝抑制(自编码)
  6. pythorch创建简单的神经网络源码
  7. Python基础 2
  8. 看板中的WIP限制思想 1
  9. 你们是不是真的很缺大数据工程师?
  10. iOS边练边学--CALayer,非根层隐式动画,钟表练习