接口就是一種規(guī)范炊汹,是不完整的類躬充,因為方法體都沒有。
接口中存在的成員:
1.接口在沒有構(gòu)造器讨便,推論:接口不能創(chuàng)建對象(不能new),接口不能定義普通方法充甚。
2.接口中定義的成員變量,實際上是全局靜態(tài)常量霸褒,默認(rèn)使用public static final修飾
public static final String ROOT_PATH = "/";
3.接口中定義的方法都是公共的抽象方法伴找,默認(rèn)使用public abstract修飾
public abstract doWork();
所以在定義接口方法時,不用寫修飾符也行废菱,編譯器會自動加上
4.接口中定義的內(nèi)部類都是公共的靜態(tài)內(nèi)部類技矮,默認(rèn)使用public static修飾內(nèi)部類。
public static class ABC{}
標(biāo)志接口:
接口中沒有人和成員殊轴,就僅僅是一個接口的定義衰倦,就是一個標(biāo)志,其他的類實現(xiàn)該接口旁理,就屬于該家族樊零,不推薦直接實現(xiàn)該接口。
常亮接口
有的程序員喜歡用接口封裝多個常量信息孽文,稱之為常亮接口驻襟,不推薦使用。
其作用和常量類一致芋哭。
接口與類的關(guān)系:
接口與類是實現(xiàn)關(guān)系沉衣,一個類可以實現(xiàn)多個接口
public class Example implements A,B,C{},其中ABC是三個不同的接口
接口和接口是繼承關(guān)系,接口可以多繼承
public interface A extends B,C{}
類和類之間是繼承關(guān)系楷掉,只能單繼承
class A extends B{}