java抽象类与接口回顾
1.抽象类中可以包括成员变量,方法,构造器,初始化块,内部类(接口/枚举)五种成分。
2.让A类中包含B方法,又不提供B方法的实现,即抽象方法只有方法签名,没有方法体。3.有抽象方法的类只能被定义成抽象类,但是抽象类里可以没有抽象方法。抽象类体现了设计模式的模板模式。
4.抽象类不能被实例化,无法使用new关键字调用抽象类的构造器创建抽象类的实例,即使抽象类不包含抽象方法,抽象类只能作为父类被其他子类继承,抽象类中的初始化块/构造器,是在创建子类的实例时被调用。
5.含有抽象方法的类(包括直接定义了一个抽象方法;继承了一个抽象父类,但没有完全实现父类包含的抽象方法;实现了一个接口,没有完全实现接口中包含的抽象方法三种情况)
6.接口的所有方法都是抽象方法java8允许在接口中定义默认方法,接口里普通方法不能有方法实现(方法体),但类方法,默认方法必须有方法实现(方法体),类方法必须使用static修饰,系统默认为其加public修饰符,类方法可直接使用接口来调用,默认方法用default修饰,如
default void test(){},不能使用static修饰,系统会为其增加public修饰符,需要类的实例来调用默认方法。
(抽象方法中不能用private,static, synchronized,native等修饰词修饰。)
7.接口定义了多个类需要遵守的规范,接口规定这些类里必须提供哪些方法,接口不能包含构造器和初始化块定义接口里可以包含成员变量(静态常量),方法(抽象实例方法,类方法,默认方法),内部类(内部接口,枚举)。
8.接口的定义 [修饰符] interface 接口名 extends 父接口1, 父接口2......{}
修饰符可以是public/省略,若省略,使用包权限访问控制符。接口只能继承接口,不能继承类。
系统会为成员变量加public static final修饰符,为普通方法加public abstact修饰符,内部类、内部接口、内部枚举是public static修饰符。
9.一个java源文件最多只能有一个public接口,若java源文件中定义了一个public接口,该文件的主文件名必须与该接口名相同。
10.接口支持多继承,子接口继承父接口,会获得父接口里定义的所有抽象方法和常量。
实现接口: [修饰符] class 类名 extends 父类 implements 接口1,接口2......{}
实现接口,可以获得所实现接口里定义的常量(成员变量),方法(包括抽象方法和默认方法)。
11.一个类实现了一个或多个接口后,这个类必须完全实现接口里定义的全部抽象方法(即重写这些抽象方法),否则,该类将保留从父接口继承来的抽象方法,该类也必须定义为抽象类。
java抽象类与接口回顾的更多相关文章
- java抽象类与接口的区别及用法
java抽象类与接口的区别及用法 一.抽象类里面的方法可以有实现,但是接口里面的方法确是只能声明. 二.接口是设计的结果 :抽象类是重构的结果 . 三.java不支持多重继承,所以继承抽象类只能继承一 ...
- Java 抽象类与接口总结
一.为什么要使用抽象类?有什么好处? 抽象类是通用接口.不同的子类可以用不同的方法表示此接口.通用接口建立起一种基本形式,以此表示所有子类的共同部分. 必须覆写父类abstract抽象的方法 含有抽 ...
- JAVA抽象类和接口的深入探讨
Java 语言中,抽象类(abstract class) 和接口(interface) 是抽象思想的两种体现形式.初学者很容易把这两者搞混,所以Java面试中考抽象类和接口的区别的面试题也常有出现的. ...
- 第十八节:详解Java抽象类和接口的区别
前言 对于面向对象编程来说,抽象是它的特征之一. 在Java中,实现抽象的机制分两种,一为抽象类,二为接口. 抽象类为abstract class,接口为Interface. 今天来学习一下Java中 ...
- Java抽象类和接口的比较
一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体 ...
- java抽象类与接口区别
java抽象类与接口区别: abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力. abstr ...
- Java抽象类和接口的区别(好长时间没看这种文章了)
Java抽象类和接口的区别(好长时间没看这种文章了) abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的 ...
- Java 抽象类和接口的理解
Java 抽象类和接口的理解 一.抽象类 为什么使用抽象类(个人理解): 面向对象的概念是,我们知道的所有的对象都是通过类来描绘的,如果类包含的信息不能描绘一个具体的对象,就需要抽象来解决了,意思是一 ...
- 记录:JAVA抽象类、接口、多态
JAVA抽象类.接口.多态 1. 多态 定义 多态是同一个行为具有多个不同表现形式或形态的能力.(多态就是同一个接口,使用不同的实例而执行不同操作) 如何实现多态 继承和接口 父类和接口类型的变量赋值 ...
随机推荐
- 常用的查询DOM的方法
查询body的方法=========== document.body // document.getElementsTagname("body")[0]; 查询html的方法=== ...
- Delphi中统一显示表格字段名的高效方法
问题描述:在开发数据库程序时,我们经常要使用很多的表格显示组件DBGrid.当DBGrid显示某表格的数据时,其字段标题默认的就是后台数据库中的表格的字段名称.而为了数据库开发方便,后台数据库中的表格 ...
- input 的 oninput onkeypress onkeydown onchange 事件的区别
事件执行顺序: <input type="text" id="foo" onkeydown="console.log('down')" ...
- 类的三大方法 与__init___
静态方法 存储在类中 实例方法 与类方法都能调用 不需要 传递self 相当于在类里面写了一个函数 类方法 存储在类中 只能是类调用 普通方法 存储在类中 由实例对象使用 在实例化类的时候 就相 ...
- BZOJ3786星系探索——非旋转treap(平衡树动态维护dfs序)
题目描述 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球没有依赖星球. ...
- BZOJ1785[USACO 2010 Jan Gold 3.Cow Telephones]——贪心
题目描述 奶牛们建立了电话网络,这个网络可看作为是一棵无根树连接n(1 n 100,000)个节点,节点编号为1 .. n.每个节点可能是(电话交换机,或者电话机).每条电话线连接两个节点.第i条电话 ...
- Luogu3804 【模板】后缀自动机(后缀自动机)
建出parent树统计即可.开始memcpy处写的是sizeof(son[y]),然后就T掉了……还是少用这种东西吧. 同时也有SA做法.答案子串一定是名次数组中相邻两个串的lcp.单调栈统计其是几个 ...
- MT【230】一道代数不等式
设$a,b,c>0,$满足$a+b+c\le abc$证明:$\dfrac{1}{\sqrt{1+a^2}}+\dfrac{1}{\sqrt{1+b^2}}+\dfrac{1}{\sqrt{1+ ...
- 洛谷P2257 YY的GCD
今日份是数论 大概是..从小学奥数到渐渐毒瘤 那就简单列一下目录[大雾 同余 质数密度 唯一分解定理 互质 完全剩余系 简化剩余系 欧拉函数 逆元 斐蜀定理 阶(及其性质) 欧拉定理 费马小定理 原根 ...
- 自学Aruba5.1-Aruba 基于角色(role)的策略管理(重点)
点击返回:自学Aruba之路 自学Aruba5.1-Aruba 基于角色(role)的策略管理(重点) 1. 角色Role介绍 在ArubaOS中,用户(User)指的是已经完成连接,并获取到IP地址 ...