接口和抽象類有什么區(qū)別?
2022-08-31 12:11 作者:網(wǎng)星軟件 | 我要投稿
接口和抽象類有什么區(qū)別?
1.??定義:抽象類使用abstract ?class ?
? ? ? ? ? ? ? ??接口使用interface
2.??繼承實(shí)現(xiàn): 抽象類是一個(gè)類,繼承需要extends,而且只能繼承一個(gè)
? ? ? ? ? ? ? ? ? ? ?接口不是類,繼承需要implements,可以實(shí)現(xiàn)多個(gè)
3.??本質(zhì)用法: 抽象類它的子類一般要求都是同一種類型的類,體現(xiàn)出java程序的重構(gòu)。
????????抽象類---車
????????公共汽車/出租車.....
???????????????????? 接口它的子類一般都是非同一種類型的類,體現(xiàn)出java程序的擴(kuò)展。
????????接口---收費(fèi)
????????飛機(jī) ?電影院 ?
4.?內(nèi)部元素: 抽象類是一個(gè)類
???????????????????? 實(shí)例變量,類變量,構(gòu)造方法,實(shí)例方法,類方法,【抽象方法】
? ? ? ? ? ? ? ? ??? ?接口中的元素
類變量,類方法【jdk8.0】,【抽象方法】 ,訪問(wèn)限制修飾符都是public
類變量--public static
抽象方法----public abstract
接口中的變量可以省略public static
接口中的抽象方法可以省略public abstract
5.?抽象方法: 抽象類中抽象方法可以有,也可以沒(méi)有
????????????????????接口中的大部分方法都是抽象方法
標(biāo)簽: