一:泛型接口
先給大家普及一個概念(在后面的也會有),其實在以后的開發中我們開發一個項目最基本的目的是將數據庫中的數據顯示到客戶端或者客戶端可以將數據錄入數據庫實現數據的交互,那么數據庫分為關系型數據庫(比如mysql)和非關系型數據庫(redis), 關系型數據庫是由表組成的,一張數據表一.般保存一類信息,那么張數據表在Java中就對應一個簡單Java類(vo類),而且我們會定義一個接口來規范操作這張數據表的實現類開發。
DEMO:觀察代碼
以上定義了一個操作部門數據的接口,如果要操作雇員信息的應該再為雇員定義一個接口
DEMO:操作雇員信息的接口
發現了以上的只有接口的名稱以及每個方法的參數類型不- -樣,方法的名稱以及形式都是一樣的,如果有一百張數據表就意味着要定義一百個這樣的接口。此時就出現了代碼重復的現象,最好的做法是使用一個接口實現多張數據表的數據操作。要實現這樣的操作需要使用泛型接口。之前每個接口只能操作- -種類型的數據,現在使用泛型接口之后,把要操作的數據類型使用占位符標記,具體使用接口的時候再根據需求指定泛型的類型。
DEMO:定義泛型接口
DEMO:在實現類中指定泛型類型
DEMO:在實現類中繼續使用泛型,之后再實例化實現類對象的時候才指定具體的占位符的類型
其實上在實現類的時候指定出具體的泛型就夠了,以上的做法是為了給大家描述出泛型接口的使用另外的方式。
DEMO:在接口繼承接口的時候指定出具體的泛型類型
以上我們直接使用實現類去實現IBaseDAO,其實上IBaseDAO接口是一個父接口( 公共的接口),那么如果實現類需要有自己特有的方法(還要擴充新的方法),那么還是離不開子接口,所以我們還要使用子接口去繼承父接口(IBaseDAO)
總結:
1、在定義一個接口的時候如果某些類型不能確定,那么就使用占位符標記,在具體使用的時候再指定泛型的類型。
2、接口的泛型常用的使用方式:
直接在實現類中指定泛型的具體類型
在實現類中繼續使用泛型,在實例化實現類對象的時候指定泛型的具體類型
在接口繼承接口中指定泛型的具體類型。
有完整的Java初級,高級對應的學習路線和資料!專注於java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分布式及面試資料、開源項目,助力開發者成長!
歡迎關注微信公眾號:碼邦主