[TOC]
## 抽象类与接口
>### abstract
- 抽象类
*事物所具有的共同特征跟行为*
```
abstract class 类名(){} //class之前修饰abstract
```
- 抽象方法
```
public abstract void test(); //访问权限后,返回值类型前。没有方法体;
```
* [ ] 抽象方法指只有功能声明,没有功能主体实现的的方法。具有抽象方法的类都是抽象类。
* [ ] 只有覆盖了抽象类的所有的抽象方法,其子类才能创建对象。否则该子类还是个抽象类。
* [ ] 抽象类不能实例化自身,不能创建自身的对象
*****
>### interface(接口)
*接口是对抽象方法的一种描述。*
```
public interface 接口名{}
```
* [ ] 接口是功能的集合,接口只描述所应具备的方法,并没有具体实现。
* [ ] 接口中的方法均抽象方法(默认被`public`和`abstract`修饰)
* [ ]
* [ ] 接口中无法定义普通的成员变量,除了被 `static `和 `final `修饰的变量
* [ ]
* [ ] 使用类实现接口 关键字`implements`
```
class 类名 implements 接口名{};
```
* [ ] 接口与父类功能可以重复,均代表要具备某种功能,并不冲突(如果不重写该方法,继承父类的方法,如果重写该方法,则同时重写父类与接口中的方法)
*****
>### 抽象类与接口的区别
- 类单继承类,接口多继承接口,类多实现接口
类可以在继承一个类的同时,实现多个接口
- 接口里全是抽象方法(除了被`static `和`final`修饰的成员变量)
抽象类可以定义普通方法和成员变量
- 第一章 java SE
- 1.1数据类型
- 1.2 流程控制语句
- 1.3 方法
- 1.4 面向对象三特性
- 1.5 对象数组与集合
- 1.6 数组和集合操作工具类
- 1.7 可变参数
- 1.8 String
- 1.9 StringBuilder
- 1.10 final&&finally&&finalize
- 1.11 抽象类与接口
- 1.12 基本数据类型的包装类
- 1.13 泛型
- 1.14 内部类
- 1.15 throw & throws & try catch
- 1.16 线程
- 1.17 BeanUtils
- 1.18 java反射
- 1.19 序列化和反序列化
- 1.20 IO输入输出流
- 1.21 File
- 1.22 RandomAccessFile
- 1.23 第三方工具CommonsIO
- 1.24 java网络传输
- 第二章 java EE
- 2.1 maven的配置
- 2.2 Cookie
- 2.3 EL表达式 JSTL
- 2.4 验证相关
- 2.4.1 验证码
- 2.5 防重复提交
- 2.6 activeMq的使用
- 2.7 jtl的使用
- 2.8 Upload上传文件
- 第三章 Spring相关
- 3.1 IOC/DI
- bean的生命周期
- bean的配置
- 3.2 Spring Aop
- 3.3 Spring Jdbc
- 3.4 事物相关
- 事物
- 事物的使用
- 3.5 MBG使用
- 第四章 解决问题方法
- 4.1 List转换为Map
- 4.2 结果返回类
- 4.3 HSSF的使用
- 第五章 排序
- 5.1 冒泡排序
- 5.2 选择排序
- 5.3 快速排序