當前位置:才華齋>IT認證>SUN認證>

Java中介面的使用

SUN認證 閱讀(2.94W)

介面申明必須有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

}

}