java中的抽象類和接口定義與用法詳解
一、抽象類
1.什么叫抽象類?
例如在生活中我們都把狗和貓歸為動物著一類中,但當只說動物時,我們是不知道是貓還是狗還是其他的。所以動物就是所謂的抽象類,貓和狗則是具體的類了。因此在Java中,一個沒有方法體的方法應該定義為抽象類,而類中有抽象方法,則必須為抽象類。
2.抽象類的特點:
- 抽象類與抽象方法必須用abstract關鍵字進行修飾。
- 抽象類不一定會有抽象方法,而有抽象方法的類一定是抽象類。
- 抽象類不能實例化,若需實例化,參照多態(tài)的形式,通過子類來進行實例化。
- 繼承了抽象類的子類,則需要重寫抽象類里面的所有抽象方法,要么就是抽象類才行。
3.成員特點:
- 成員變量:可以是變量或者常量。
- 構造方法:有構造方法,但是不能實例化,則需要通過多態(tài)子類來進行;其中用處是為子類訪問父類來進行數(shù)據(jù)初始化。
- 成員方法:可以是抽象類:限定 子類必須完成的某些行為;也可以為非抽象類,可以提高代碼的復用性。
二、接口
1.接口是什么?
接口是一種公共的規(guī)范標準,是表示一個類所需要的附加條件,所以只需要符合規(guī)范標準,都可以運用。Java中的接口主要體現(xiàn)于對行為的抽象。
2.接口的特點
- 需要用關鍵字interface來進行修飾。
- 類的實現(xiàn)接口需要用implements來表示
- 接口不能實例化,若要實例化,則參照多態(tài)的形式來進行實例化,稱為接口多態(tài)。因此多態(tài)的形式主要有:具體類的多態(tài),抽象多態(tài),接口多態(tài)。
- 接口的實現(xiàn)類:要么重寫接口里面的抽象方法,要么是抽象類。
3.接口的組成成員
- 1.成員變量:只能是常量,默認由'public static final‘來進行修飾。
- 2,構造方法:接口沒有構造方法,因為接口主要是對于行為進行抽象,沒有具體的存在。
- 注意事項:一個類沒有父類則默認繼承Object類。
- 3.成員方法:
抽象方法:接口默認的方法為抽象方法。默認為public static abstract來進行修飾。
默認方法:默認方法是在部分實現(xiàn)類需要添加的方法時所用到的方法,是需要在接口里面用defaul修飾,實現(xiàn)類里可以不用重寫,但重寫時是需要刪除default。

靜態(tài)方法:靜態(tài)方法是只能在接口中去添加,不能被實現(xiàn)類去調(diào)用,只能被接口名調(diào)用并被static修飾。

私有方法:私有方法主要是在接口里面進行使用,有private關鍵字進行修飾,通過將相同的代碼段寫在私有方法里面,提高了代碼的復用性和簡便性,靜態(tài)的私有方法只能用靜態(tài)來進行修飾,非靜態(tài)的可以有非靜態(tài)和靜態(tài)方法都能修飾。

4.類與抽象的關系:

5.抽象類與接口的區(qū)別:
抽象類主要是對于事物的抽象,接口主要是對于行為的抽象。
到此這篇關于java中的抽象類和接口定義與用法詳解的文章就介紹到這了,更多相關Java 抽象類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Mybatis中l(wèi)ike搭配concat的寫法詳解
這篇文章主要介紹了Mybatis中l(wèi)ike搭配concat的寫法詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
基于Java實現(xiàn)Json文件轉換為Excel文件
這篇文章主要為大家詳細介紹了如何利用Java實現(xiàn)Json文件轉換為Excel文件,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下2022-12-12

