Java中接口的使用

接口申明必須有interface關鍵字和接口的名字,public指明任意類均可以使用這個接口,默認情況下,只有與該接口定義在同一個包中的類才可以訪問這個接口。extends 與類申明中的extends 基本相同,不同的是一個接口可以有多個父接口,用逗號隔開。而一個類只能有一個父類。子接口繼承接口中所有的常量和方法。在類的申明中用implements來表示一個類實現某個接口,在類體中可以使用接口中定義的.常量,而且必須實現接口中定義的所有方法(可以是空的實現但一定要實現),否則該類就是一個抽象類。一個類可以實現多個接口。接口的作用,一言以蔽之,就是標誌類的類別(type of class)。把不同類型的類歸於不同的接口,可以更好的管理他們。OO的精髓,是對對象的抽象,最能體現這一點的就是接口。

Java中接口的使用

接口不是類,尤其是絕對不能使用new 操作符實例化接口;

Module md=new Module()//錯誤

不過,雖然不能構造接口對象,但還是可以聲明接口變量。

Module md;

接口變量必須指向一個實現了該接口的類的對象;

x=new MotorModule();//只要實現了Module就對了

可以用instanceof來檢驗對象是否實現了某個接口(只要它屬於的類或者父類實現了某個接口都可以);

if(anObject instanceof Module){...}

接口在軟件發佈的時候是向用户公開的,用户可以通過調用實現接口的類的接口方法,而如果不實現接口用户是不能調用的。

也就是我們常可以聽到的服務提供商這樣説:"如果你們的類遵循一個特定的接口,那麼我們將執行這些服務

java 接口的使用舉例

//以下程序説明 並不嚴謹,只是為了方便初學者初步的理解接口的應用

interface Interface //接口 {

String ShowMessage(String MSG); //接口方法,因為接口方法默認是public abstract 所以這裏可以不用顯示書寫

}

class ClassItf implements Interface //全部實現了接口interface類的方法;

{

public ClassItf()

{

//構造函數

}

public String ShowMessage(String MSG) //實現接口方法ShowMessage()

{

t(MSG);

return MSG;

}

}

/* usingItf 類調用了接口方法,來實施某一些功能,但是具體的操作有接口實現類來操作,

將必要的數據通信給接口,實現了數據的通信; 這裏如此説明並不嚴謹,只是便於初學者理解

*/

class usingItf //"驅動類"

{

public String getstring;

public void usingItf(Interface inf,String MSG) //使用了接口定義的方法 注意:使用了Interface 的引用 inf

{

getstring=Message(MSG);

}

}

public class Test //Test函數

{

public static void main(String args[])

{

ClassItf newClassItf=new ClassItf();

usingItf aa =new usingItf();

gItf(newClassItf,"This is the firstpage!!!!"); // 注意這裏傳遞的接口實現類的實例,還有參數 class usingItf

}

}