一、抽象類
1.什么叫抽象類?
例如在生活中我們都把狗和貓歸為動物著一類中,但當只說動物時,我們是不知道是貓還是狗還是其他的。所以動物就是所謂的抽象類,貓和狗則是具體的類了。因此在Java中,一個沒有方法體的方法應該定義為抽象類,而類中有抽象方法,則必須為抽象類。
2.抽象類的特點:
- 抽象類與抽象方法必須用abstract關鍵字進行修飾。
- 抽象類不一定會有抽象方法,而有抽象方法的類一定是抽象類。
- 抽象類不能實例化,若需實例化,參照多態的形式,通過子類來進行實例化。
- 繼承了抽象類的子類,則需要重寫抽象類里面的所有抽象方法,要么就是抽象類才行。
3.成員特點:
- 成員變量:可以是變量或者常量。
- 構造方法:有構造方法,但是不能實例化,則需要通過多態子類來進行;其中用處是為子類訪問父類來進行數據初始化。
- 成員方法:可以是抽象類:限定 子類必須完成的某些行為;也可以為非抽象類,可以提高代碼的復用性。
二、接口
1.接口是什么?
接口是一種公共的規范標準,是表示一個類所需要的附加條件,所以只需要符合規范標準,都可以運用。Java中的接口主要體現于對行為的抽象。
2.接口的特點
- 需要用關鍵字interface來進行修飾。
- 類的實現接口需要用implements來表示
- 接口不能實例化,若要實例化,則參照多態的形式來進行實例化,稱為接口多態。因此多態的形式主要有:具體類的多態,抽象多態,接口多態。
- 接口的實現類:要么重寫接口里面的抽象方法,要么是抽象類。
3.接口的組成成員
- 1.成員變量:只能是常量,默認由"public static final‘來進行修飾。
- 2,構造方法:接口沒有構造方法,因為接口主要是對于行為進行抽象,沒有具體的存在。
- 注意事項:一個類沒有父類則默認繼承Object類。
- 3.成員方法:
抽象方法:接口默認的方法為抽象方法。默認為public static abstract來進行修飾。
默認方法:默認方法是在部分實現類需要添加的方法時所用到的方法,是需要在接口里面用defaul修飾,實現類里可以不用重寫,但重寫時是需要刪除default。
靜態方法:靜態方法是只能在接口中去添加,不能被實現類去調用,只能被接口名調用并被static修飾。
私有方法:私有方法主要是在接口里面進行使用,有private關鍵字進行修飾,通過將相同的代碼段寫在私有方法里面,提高了代碼的復用性和簡便性,靜態的私有方法只能用靜態來進行修飾,非靜態的可以有非靜態和靜態方法都能修飾。
4.類與抽象的關系:
5.抽象類與接口的區別:
抽象類主要是對于事物的抽象,接口主要是對于行為的抽象。
到此這篇關于java中的抽象類和接口定義與用法詳解的文章就介紹到這了,更多相關Java 抽象類內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/weixin_46870007/article/details/120260135