面向对象知识点整理(2)

抽象类

概念

当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类。

抽象类的特点

1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。

3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。

注意:abstract 不可以与 private  final  static共存

接口

接口概念

接口是功能的集合,

接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。

这样将功能的定义与实现分离,优化了程序设计。

接口的特点

1. 接口中的方法均为公共访问的抽象方法

2.接口中无法定义普通的成员变量(都是用public static final修饰的常量)

接口中成员的特点

1、接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final 所以接口中的变量也称之为常量,其值不能改变。

2、接口中可以定义方法,方法也有固定的修饰符,public abstract

3、接口不可以创建对象。

4、子类必须覆盖掉接口中所有的抽象方法后,子类才可以实例化。否则子类是一个抽象类。

接口的好处

1、接口的出现扩展了功能。

2、接口的出现避免了单继承的局限性。

3、接口的出现降低了耦合性,即设备与设备之间实现了解耦。

接口和抽象类的异同

相同点

1. 都位于继承的顶端,用于被其他类实现或继承;

2.都不能直接实例化对象;

3.都可以包含抽象方法,其子类都必须覆写这些抽象方法;

不同点

1.抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;

2.一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)

3.抽象类是这个事物中应该具备的内容, 继承体系是一种 is..a关系

4.接口是这个事物中的额外内容,继承体系是一种 like..a关系

原文地址:https://www.cnblogs.com/lxzwhite/p/10899095.html

时间: 2025-01-18 17:38:33

面向对象知识点整理(2)的相关文章

面向对象知识点整理(3)

关键字 1.this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. 作用 a.实现构造方法之间的调用 this(参数列表) b.解决成员变量与局部变量的同名问题 this.成员变量 2.super super可以理解为是指向自己超父类对象的一个指针,而这个父类指的是离自己最近的一个父类. 作用 a.调用父类的构造方法 super(参数列表) b.直接引用父类的成员 super.xxx 注意事项 1.子类构造方法中有一句隐式的super(): 2.当父类中没有空参数

面向对象知识点回顾整理

目录 面向对象知识点回顾整理 一.面向对象基础 1.类和对象 2.属性查找: 3.绑定方法: 4.对象之间的交互: 5.类的内置属性 6.三大特性:继承.多态.封装 二.面向对象高阶 元类 单例模式 面向对象知识点回顾整理 一.面向对象基础 面向对象编程的核心是对象二字,对象是属性与方法的结合体,python中一切皆对象. 优点:可扩展性强 缺点:编程的复杂度高 1.类和对象 对象:属性和方法的结合体 类:一堆属性和方法的结合体 python中是先有类再有对象,现实生活中是先有对象再有类 类名(

数据库设计教程系列——相关知识点整理

一.教程概述 此数据库设计教程是笔者参考网上资料.相关书籍,以及加上自己多年做数据库设计相关工作的经验积累写就. 数据库设计教程在网上已经有大量类似的资料,并且该领域有不少专业书籍,珠玉在前,心有戚戚. 但这作为唯心六艺之一,我还是希望能够在整理知识的同时,写出自己的一些内容,如果能够对读者 有所帮助,那就最好不过了,谢谢. 本教程主要基于关系型数据库进行讲解,对于维度数据库也会视情况有所涉猎. 下面是整个教程涉及的知识点整理,在撰写教程的过程中,如果有改动,也会调整更新此图. 二.知识点整理

asp.net mvc 3.0 知识点整理 ----- (2).Controller中几种Action返回类型对比

通过学习,我们可以发现,在Controller中提供了很多不同的Action返回类型.那么具体他们是有什么作用呢?它们的用法和区别是什么呢?通过资料书上的介绍和网上资料的查询,这里就来给大家列举和大致的概括下. (1). ActionResult(base):最基本的Action类型,返回其他类型都可以写ActionResult. (2). ContentResult:返回ContentResult用户定义的内容类型. public ActionResult Content() { return

【知识点整理】Oracle中NOLOGGING、APPEND、ARCHIVE和PARALLEL下,REDO、UNDO和执行速度的比较

[知识点整理]Oracle中NOLOGGING.APPEND.ARCHIVE和PARALLEL下,REDO.UNDO和执行速度的比较 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 系统和会话级别的REDO和UNDO量的查询 ② NOLOGGING.APPEND.ARCHIVE和PARALLEL下,REDO.UNDO和执行速度的比较(重点)   Tips: ① 本文

【Android 面试基础知识点整理】

针对Android面试中常见的一些知识点整理,Max 只是个搬运工,感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章,对于其中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正. 本文将持续更新,同时我也将其放在Github上:Point-of-Android 同时可以看Max的个人博客:海上钢琴师 Android中的异步任务机制 Android中AsyncTak的使用与源码分析 http://blog.csdn.net/bboyfeiyu/article/details/

·DP」知识点整理

一.最长公共子序列(LCS Longest Common  Subsequence) 第一,先说区别,最长公共子串和最长公共子序列是不一样的. 最长公共子串不许是连续的,而最长公共子序列可以是不联系的. 网络上解释的子序列: 一个字符串S,去掉零个或者多个元素所剩下的子串称为S的子序列.最长公共子序列就是寻找两个给定序列的子序列,该子序列在两个序列中以相同的顺序出现,但是不必要是连续的. 例如 X=ABCBDAB Y=BDCABA BCA是X和Y的一个公共子序列,但是不是X和Y的最长公共子序列,

Python--matplotlib绘图可视化知识点整理

Python--matplotlib绘图可视化知识点整理 强烈推荐ipython 原文:http://michaelxiang.me/2016/05/14/python-matplotlib-basic/ 无论你工作在什么项目上,IPython都是值得推荐的.利用ipython --pylab,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能. 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找.

asp.net mvc 3.0 知识点整理 ----- (4).HtmlHelper(Html 辅助方法)介绍

在View视图中,Html的类型是System.Web.Mvc.HtmlHelper<T>, 所有的辅助方法都需要和ModelState交互.那么,ModelState是什么呢?它是模型绑定的附属品,并且存有模型绑定期间检测到的所有验证错误.以及用户提交用到来更新模型的原始值.本篇博文,我们主要来介绍下一些常用的html辅助方法的主要作用和使用方法. 1. Html.BeginForm()和Ajax.BeginForm().   Html.BeginForm(): 同于传统的表单提交,主要是生