真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中的抽象類和接口有什么區(qū)別

本篇文章給大家分享的是有關(guān)java中的抽象類和接口的區(qū)別,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)主營綏中網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機APP定制開發(fā),綏中h5微信小程序開發(fā)搭建,綏中網(wǎng)站營銷推廣歡迎綏中等地區(qū)企業(yè)咨詢

一、抽象類

在Java中,被關(guān)鍵字abstract修飾的類稱為抽象類;被abstract修飾的方法稱為抽象方法,抽象方法只有方法聲明沒有方法體。

抽象類有以下幾個特點:

1、抽象類不能被實例化,只能被繼承。

2、包含抽象方法的類一定是抽象類,但抽象類不一定包含抽象方法(抽象類可以包含普通方法)。

3、抽象方法的權(quán)限修飾符只能為public或者protected,默認情況下為public。

4、一個類繼承于一個抽象類,則子類必須實現(xiàn)抽象類的抽象方法,如果子類沒有實現(xiàn)父類的抽象方法,那子類必須定義為抽象類。

5、抽象類可以包含屬性、方法、構(gòu)造方法,但構(gòu)造方法不能用來實例化對象,只能被子類調(diào)用。

二、接口

接口可以看成是一種特殊的類,只能用interface關(guān)鍵字修飾。接口是提供給別人調(diào)用的。Java中的接口具有以下幾個特點:

1、接口中可以包含變量和方法,變量被隱式指定為public static final,方法被隱式指定為public abstract(JDK 1.8之前);

2、接口支持多繼承,即一個接口可以繼承(extends)多個接口,間接解決了Java中類不能多繼承的問題;

3、一個類可以同時實現(xiàn)多個接口,一個類實現(xiàn)某個接口則必須實現(xiàn)該接口中的抽象方法,否則該類必須被定義為抽象類;

4、JDK 1.8中對接口新增了兩個特性:

(1)默認方法(default method):JDK 1.8允許給接口添加非抽象的方法實現(xiàn),但必須使用default關(guān)鍵字修飾;定義了default的方法可以不被實現(xiàn)子類所實現(xiàn),但只能被實現(xiàn)子類的對象調(diào)用;如果子類實現(xiàn)了多個接口,并且這些接口包含一樣的默認方法,則子類必須重寫默認方法。

(2)靜態(tài)方法(static method):JDK 1.8中允許使用static關(guān)鍵字修飾一個方法,并提供實現(xiàn),稱為接口靜態(tài)方法。接口靜態(tài)方法只能通過接口調(diào)用(接口名.靜態(tài)方法名)。

5、在JDK 1.9中,再次對接口進行了增強,可以實現(xiàn)private method和private static method。因為JDK 1.8中可以對接口中的方法進行實現(xiàn),那么當(dāng)我們不希望實現(xiàn)的方法暴露給外部時,則可以將方法定義為private。

三、接口與抽象類的區(qū)別

1、抽象類中可以包含普通方法,但接口中只能包含public abstract方法(JDK 1.8之前);

2、抽象類中的成員變量沒有訪問權(quán)限的限制,但接口中的變量只能被public static final修飾;

3、一個接口可以繼承多個接口,但一個類只能有一個父類,類可以實現(xiàn)多個接口;

4、抽象類是對一類事物的抽象,接口則是對行為的抽象。一個類繼承一個抽象類代表“是不是”的關(guān)系,而一個類實現(xiàn)一個接口則表示“有沒有”的關(guān)系。

以上就是java中的抽象類和接口的區(qū)別,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章名稱:java中的抽象類和接口有什么區(qū)別
網(wǎng)頁路徑:http://weahome.cn/article/psdddd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部