1接口可以繼承多個(gè)接口
2 一個(gè)類也可以實(shí)現(xiàn)多個(gè)接口
3 一個(gè)類實(shí)現(xiàn)多個(gè)接口肛走,那么必須實(shí)現(xiàn)每個(gè)接口中的方法
4 類與類 接口與接口 類與接口(implements)
5一個(gè)類接以繼承另一個(gè)類同時(shí)可以實(shí)現(xiàn)多個(gè)接口
6 接口沒有構(gòu)造器漓雅,接口里面所有的方法都是抽象方法(jdk1.8)
7 接口里面的常量都是靜態(tài)常量
?? ? ? ? ? ? ? 一、接口的概述及其特點(diǎn)
A:接口概述
從狹義的角度講就是指java中的interface
從廣義的角度講對(duì)外提供規(guī)則的都是接口
B:接口特點(diǎn)
a:接口用關(guān)鍵字interface表示
interface 接口名 {}
b:類實(shí)現(xiàn)接口用implements表示
class 類名 implements 接口名 {}
c:接口不能實(shí)例化
那么朽色,接口如何實(shí)例化呢?
按照多態(tài)的方式來(lái)實(shí)例化邻吞。
d:接口的子類
a:可以是抽象類。但是意義不大葫男。
b:可以是具體類抱冷。要重寫接口中的所有抽象方法。(推薦方案)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?二腾誉、接口的成員特點(diǎn)
A:接口成員特點(diǎn)
成員變量徘层;只能是常量,并且是靜態(tài)的并公共的利职。
默認(rèn)修飾符:public static final
建議:自己手動(dòng)給出趣效。
構(gòu)造方法:接口沒有構(gòu)造方法。
成員方法:只能是抽象方法猪贪。
默認(rèn)修飾符:public abstract
建議:自己手動(dòng)給出跷敬。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?三、類與類,類與接口,接口與接口的關(guān)系
A:類與類,類與接口,接口與接口的關(guān)系
a:類與類:
繼承關(guān)系,只能單繼承,可以多層繼承热押。
b:類與接口:
實(shí)現(xiàn)關(guān)系,可以單實(shí)現(xiàn),也可以多實(shí)現(xiàn)西傀。
并且還可以在繼承一個(gè)類的同時(shí)實(shí)現(xiàn)多個(gè)接口斤寇。
c:接口與接口:
繼承關(guān)系,可以單繼承,也可以多繼承。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?四拥褂、抽象類和接口的區(qū)別
A:成員區(qū)別
抽象類:
成員變量:可以變量娘锁,也可以常量
構(gòu)造方法:有
成員方法:可以抽象,也可以非抽象
接口:
成員變量:只可以常量
成員方法:只可以抽象
B:關(guān)系區(qū)別
類與類
繼承饺鹃,單繼承
類與接口
實(shí)現(xiàn)莫秆,單實(shí)現(xiàn),多實(shí)現(xiàn)
接口與接口
繼承悔详,單繼承镊屎,多繼承
C:設(shè)計(jì)理念區(qū)別
抽象類 被繼承體現(xiàn)的是:”is a”的關(guān)系。抽象類中定義的是該繼承體系的共性功能茄螃。
接口 被實(shí)現(xiàn)體現(xiàn)的是:”like a”的關(guān)系缝驳。接口中定義的是該繼承體系的擴(kuò)展功能。