接口java_JAVA 初识接口
在了解接口之前,我們先再來了解一下“類型”,類型就是合乎某種規范的一種形式。接口實際上也可以看做是類型的一種,通常上多稱呼為“抽象類型”。
實際上,它和“類”這種類型十分相似。具體的差別就是,類是具體的,里面所包含的方法也是有具體的代碼的,而接口就不一樣了,它只有方法的定義,卻沒有一點點關于具體實現的代碼。
這樣說起來,其實,接口只是定義了一種規范,一種關于“抽象方法”的規范,而合乎這個規范的就是,實現這個規范里面的所有的抽象方法。
接口(interface)在JAVA中就是通過關鍵詞 interface 來聲明的,接口的具體實現過程則是通過類對接口的繼承(implements)來實現的。
對于接口的使用,有這樣幾點需要了解:
1、由于接口不能直接new關鍵詞來創建,而是需要new一個子類來繼承這個接口;
2、繼承接口后,如果是抽象類,則獲得全部的屬性和方法的定義;
3、對于用來實現接口的子類,則是需要重寫所有的方法;
4、子類實現接口時,不同于繼承父類,抽象類的繼承,可以實現多個抽象函數的功能。
為了說的清楚一點,下面我將建立一個鼠標USB的模型:
對于鼠標這類事物,每一個鼠標都是一個實實在在存在的物體(相當于實例化之后的類),與之配套的電腦就是另一物體(也可以考慮為另外一個類),那么,就現在的情況來看,不管是有線鼠標也好,無線鼠標也好,如果要在電腦上使用,那一定是需要一個USB接口來實現兩個設備之間信息的交互的??墒?#xff0c;當今的電腦和鼠標制造廠商那么多,如何保證我的產品具有普遍的適應性呢?那就需要我們剛剛提到的這種規范——類型。
我們先假設每一個鼠標類型,都具有這樣幾個屬性:接口的大小,類型,設備的名字或者型號,還有數據傳入(inPut)和數據輸出(outPut)這最起碼的功能。就像這樣:
那么,在我們定義了這個抽象的鼠標接口后,我們在定義一個鼠標的對象后,就可以來繼承(implements)這個已有的鼠標接口,而后重寫它具體的一些屬性和方法,實現一個鼠標的一些具體的功能。
我們現在嘗試下注釋掉對于一個對父類抽象類方法的重寫函數,我們可以看到:在報錯,錯誤提示是:The type MyMouse must implement the inherited abstract method Mouse.outPut(). 這個錯誤說明的意思也就是說,我們要把繼承的所有的抽象類方法都要重寫。
在我們舉例時候,除了改寫之前定義過的輸入和輸出兩個方法,我們還新增了一個叫做MyWay的方法,我們先不管這個方法是做什么的,這個方法的存在就僅是為了說明:繼承同一個接口的不同的對象,其實是可以擁有自己特有的一些方法的。
上面我們提到過,對于抽象的類,是可以直接獲得父類的所有的抽象屬性的,那我們來看一下這個實例化后的類MyMouse是不是也可以:
我們先定義一個主函數,然后將繼承Mouse的對象類MyMouse進行實例化,開始嘗試輸出之前有的一些屬性,并且嘗試進行使用我們的一些方法。
那我們來看一下輸出:
從輸出臺的輸出我們可以看出來,抽象類Mouse的屬性已經都到了實例化后的對象mymouse上,而且,不論是我們重寫的inPut還是自己重新定義的新方法MyWAY,都是可以沒問題的執行的。
那這些,就是關于接口的一些小認識 歡迎大家提出看法或者與我討論。
總結
以上是生活随笔為你收集整理的接口java_JAVA 初识接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车故障检测软件_汽车没故障,定期保养,
- 下一篇: 中后台管理信息系统通用原型方案_Axur