接口與類相似點(diǎn):
一個(gè)接口可以有多個(gè)方法嗅绰。
接口文件保存在 .java 結(jié)尾的文件中,文件名使用接口名咖刃。
接口的字節(jié)碼文件保存在 .class 結(jié)尾的文件中差油。
接口相應(yīng)的字節(jié)碼文件必須在與包名稱相匹配的目錄結(jié)構(gòu)中拗军。
接口與類的區(qū)別:
接口不能用于實(shí)例化對(duì)象。
接口沒有構(gòu)造方法蓄喇。
接口中所有的方法必須是抽象方法发侵。
接口不能包含成員變量,除了 static 和 final 變量妆偏。
接口不是被類繼承了刃鳄,而是要被類實(shí)現(xiàn)。
接口支持多重繼承钱骂。
抽象類和接口的區(qū)別:
1. 抽象類中的方法可以有方法體叔锐,就是能實(shí)現(xiàn)方法的具體功能,但是接口中的方法不行见秽。
2. 抽象類中的成員變量可以是各種類型的愉烙,而接口中的成員變量只能是public static final類型的。
3. 接口中不能含有靜態(tài)代碼塊以及靜態(tài)方法(用 static 修飾的方法)解取,而抽象類是可以有靜態(tài)代碼塊和靜態(tài)方法步责。
4. 一個(gè)類只能繼承一個(gè)抽象類,而一個(gè)類卻可以實(shí)現(xiàn)多個(gè)接口禀苦。