2013-09-21 26 views

回答

1

一個簡單的方法理解上的差異是認爲的接口定義對象做什麼,而一個類定義如何它它。

您建議的類比是不完整的,因爲Java有一個概念,它位於接口和類的中間,即抽象類:規範可能被建模爲抽象類或接口。

+0

感謝您的回覆,請給出一個「規範可能被模擬爲java中的抽象類」的示例 –

+0

@Naroji抽象類提供了* what *和a * how *的組合,因爲它具有方法沒有實現與接口中的相同方式,以及可能具有實現的方法,與它們在類中的方式相同。例如,JMS將'Message'指定爲接口,但它也可以將其指定爲抽象類:此類規範將爲公共屬性(如「ID」和「priority」)提供一個實現,從而省略「有效負載」方法由實現提供。 – dasblinkenlight

0

類和接口之間的區別是它們的運行方式。一個類有一個主要的方法。接口就像您可以將方法放入的全局文件。例如,你有類布拉赫

public class Blah { 

    // NOTICE: this is a method that allows you 
    // to perform actions within the method 

    public static void main(String args[]) { 
     // do whatever 
    } 
} 

,你有一個名爲BlahInterface

public interface BlahInterface { 

    public static void main(String args[]); 

    public void sayBlah(); 

    public int getAmountOfBlahs(); 

    public String getWhatBlahSays(); 

    public int setBlahs(int blahNumber); 

} 

接口正如你所看到的,類和接口之間的區別在於,類依賴的接口上它可以實現的方法。

您可以看到該類允許main方法在其內部運行,但如果要嘗試在界面中運行main方法,則該方法無效。

摘要: 該接口僅用於初始化類可以使用/運行的方法。

希望這會有所幫助!