[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 快速排序