oop第二章1知识点汇总
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知识点汇总相关推荐
- 信息管理导论川大667 | 第二章核心知识点
第二章 信息环境与信息社会 1. 信息环境与信息社会 1.1 信息环境 #mermaid-svg-WTFRsKb2ZJcbsO8W {font-family:"trebuchet ms&qu ...
- 第二章 物理层[知识点+课后习题+练习题]
目录 物理层基本概念 物理层接口特性 数据通信 基础知识 数据通信相关术语 设计数据通信系统要考虑的三个问题 码元 数字通信系统数据传输速率的两种表示方法 带宽 奈氏准则 香农定理 失真 失真的一种现 ...
- Java OOP 第二章 继承
Java OOP 继承 文章目录 Java OOP 继承 一.学习目标 二.继承 三.类的继承关系示例 四.深入理解继承 五.Object类 六.方法重写 七.本章总结 一.学习目标 掌握继承的优点和 ...
- 数据库系统概论 第二章关系数据库 知识点总结
目录 1. 关系数据结构及形式化定义 1.1 关系 1.1.1 笛卡儿积 1.1.2 关系 1.2 关系模式 1.3 关系数据库 2. 关系操作 2.1 基本的关系操作 2.2 关系数据语言的分类 ...
- 【邱锡鹏-神经网络与深度学习】第一章绪论 知识点汇总
深度学习是机器学习的分支,从有限样例中通过算法总结出一般性的规律,应用到未知的数据上. 深度学习:原始数据输入--->多个线性或非线性组件--->每个组件对信息进行加工,影响后续组件--- ...
- 考研 计算机网络第二章物理层 知识点总结
物理层基本概念 物理层解决如何在连接各计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体. (传输媒体指的是数据在传输过程中需要经过的介质,比如光纤.电缆.同轴电缆.双绞线等,物理层就是用来传输 ...
- 体系结构 第二章习题知识点
1. MIPS MIPS 是指计算机的运行速度. MIPS(Million Instructions Per Second):单字长定点指令平均执行速度 Million Instructions Pe ...
- Kotlin学习笔记 第一章开始 第二章 基础
参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 本系列为参考Kotlin中文文档 https://download.csdn.net/dow ...
- 计算机网络第二章物理层试题,计算机网络试题第二章物理层_跨考网
一.填空题 1从双方信息交互的方式来看,通信有以下三个基本方式:()通信.( )通信和( )通信. (第二章 物理层知识点: 通信的方式答案: 单工.半双工.全双工.) 2每赫带宽的理想低通信道的最高 ...
最新文章
- 三十五、Scrapy 中的杂知识总结和代理池的编写
- Zookeeper基于Java 访问-权限控制的案例演示
- ngCloak 实现 Angular 初始化闪烁最佳实践
- html path属性,HTML Location pathname用法及代码示例
- 谨慎使用Hibernate中的本机SQL
- centos7 安装 node.js 运行环境、卸载
- 史上最全java架构师技能图谱(上)
- centos7ubuntu搭建Vulhub靶场(推荐Ubuntu)
- mpvue两小时,产出一个《点钞辅助工具》小程序
- 在静态SQL中实现动态WHERE子句
- oracle学习日志---返回RemoteOperationException: ERROR: Wrong password for user-错误的用户名密码-的错误的解决办法...
- ubuntu 时区 修改时间 保存 重启 变化等
- java tcp socket 关闭_JAVA SOCKET和TCP四次挥手
- 数据库系统概论第五版(王珊) 课后习题答案
- 16进制颜色转换RGB原理
- iOS 强制屏幕旋转
- 支付宝统一收单接口实现支付宝支付
- 涨跌的例题用C语言编辑,涨跌比率指标用法及源代码(ADR)
- 有域名有服务器没有网站可以备案吗,只有域名没有服务器可以备案吗
- linux下scp提示文件名过长,Linux中crontab下scp文件传输的两种方式