java的介面的作用
㈠ java介面作用是什麼
介面是一種規范
軟體開發大多是一個協作性的工作:電器和插座分別是不同人完成的旅帶,有了介面大家就能分頭開干,都按照介面來辦事,各自做完就能輕松地螞鎮帶整合到一起。各部分的測試也更加方便。
介面在開發過程中可以快速分離工作內容。
比如調用者在寫業務邏輯的時候需要一個功能,可能是資料庫訪問,或者復雜計算,但是他的工作專注於實現業務邏輯,不想分開精力去做底層實現,那麼他只需要先實現一個介面,定義了規范,然後就可以繼續他的業務邏輯代碼了。而實現者可以根據這個介面規范,做具體的實現。
這樣通過使用介面就可以快速的分離工作內容,達到團隊並行工作的目的。
(1)java的介面的作用擴展閱讀:
功能
在Java語言規范中,一個方法的特徵僅包括方法的名字,參數的數目和種類,而不包括方法的返回類型,參數的名字以及所拋出來的異常。在Java編譯器檢查方法的重載時,會根據這些條件判斷兩個方法是否是重載方法。
但在Java編譯器檢查方法的置換時,則會進一步檢查兩個方法(分處超類型和子類型)的返還類型悶蘆和拋出的異常是否相同。
介面實現和類繼承的規則不同,為了數據的安全,繼承時一個類只有一個直接父類,也就是單繼承,但是一個類可以實現多個介面,介面彌補了類的不能多繼承缺點,繼承和介面的雙重設計既保持了類的數據安全也變相實現了多繼承。
Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。但是介面不是類,不能使用new 運算符實例化一個介面。
㈡ java中的介面有什麼作用
1、定義介面的重要性:在Java編程,abstract class 和interface是支持抽象類定義的兩種機制。正是由於這兩種機制的存在,才使得Java成為面向對象的編程語言。
2、定義介面有利於代碼的規范:對於一個大型項目而言,架構師往往會對一些主要的介面來進行定義,或者清理一些沒有必要的介面。這樣做的目的一方面是為了給開發人員一個清晰的指示,告訴他們哪些業務需要實現;同時也能防止由於開發人員隨意命名而導致的命名不清晰和代碼混亂,影響開發效率。
3、有利於對代碼進行維護:比如你要做一個畫板程序,其中裡面有一個面板類,主要負責繪畫功能,然後你就這樣定義了這個類。可是在不久將來,你突然發現現有的類已經不能夠滿足需要,然後你又要重新設計這個類,更糟糕是你可能要放棄這個類,那麼其他地方可能有引用他,這樣修改起來很麻煩。如果你一開始定義一個介面,把繪制功能放在介面里,然後定義類時實現這個介面,然後你只要用這個介面去引用實現它的類就行了,以後要換的話只不過是引用另一個類而已,這樣就達到維護、拓展的方便性。
4、保證代碼的安全和嚴密:一個好的程序一定符合高內聚低耦合的特徵,那麼實現低耦合,定義介面是一個很好的方法,能夠讓系統的功能較好地實現,而不涉及任何具體的實現細節。這樣就比較安全、嚴密一些,這一思想一般在軟體開發中較為常見。
㈢ JAVA中 介面的含義和作用
java介面是一系列方法的聲明,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。
1、兩種含義:一,Java介面,Java語言中存在的結構,有特定的語法和結構;二,一個類所具有的方法的特徵集合,是一種邏輯上的抽象。前者叫做「Java介面」,後者叫做「介面」。
2、介面實現和類繼承的規則不同,為了數據的安全,繼承時一個類只有一個直接父類,也就是單繼承,但是一個類可以實現多個介面,介面彌補了類的不能多繼承缺點,繼承和介面的雙重設計既保持了類的數據安全也變相實現了多繼承。
3、Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。但是介面不是類,不能使用new 運算符實例化一個介面。如 x=new comparable(......);//這個是錯誤來的。但是可以聲明介面變數Comparable x; //這是允許的。
4、Java介面的方法只能是抽象的和公開的,Java介面不能有構造器,Java介面可以有public、靜態的和final屬性。即介面中的屬性可以定義為 public static final int value=5;
5、這種分割體現在介面常常代表一個角色,它包裝與該角色相關的操作和屬性,而實現這個介面的類便是扮演這個角色的演員。一個角色由不同的演員來演,而不同的演員之間除了扮演一個共同的角色之外,並不要求其它的共同之處。
㈣ java中介面有什麼作用
介面的作用就是把使用介面的人和實現介面的人分開,實現介面的人不必要關心誰去使用,而使用介面的人也不用關心誰實現的介面,由介面將他們聯系在一起。以上像一段繞口令,那麼通過下面的幾段程序解釋:
1、以生產和使用一台計算機為例,首先,我們定義了一個顯卡的介面,他裡面有顯示功能和獲取顯卡名稱的功能:
interfaceVidioCard
{
voiddisplay();
StringgetName();
}
2、顯卡的生產者來了,他必須實現介面中定義的所有方法,也可以自己增添若干方法:
{
Stringname="Haolong'svidiocard";
voidsetName(Stringname){
this.name=name;
}
publicvoiddisplay(){
System.out.println("TheHaolong'svidiocardisrunning!!");
}
publicStringgetName(){
returnname;
}
};
顯卡製造商生產出了顯卡,並且通過setName方法貼上了自己的商標,而通過getName方法可以讓使用者知道這塊顯卡的製造商。
3、現在顯卡已經生產出來了,但是我們還需要一塊主板,把生產出來的顯卡插到主板上才能夠使用,那麼我們去買主板:
classMainBorad
{
Stringcpuname;
VidioCardvc;
voidsetCPU(Stringcpuname){
this.cpuname=cpuname;
}
voidsetVidioCard(VidioCardvc){
this.vc=vc;
}
voidrun(){
System.out.println("wudi-mainbord!");
System.out.println(vc.getName());
vc.display();
System.out.println("mainbordisrunningsuccessful!");
}
};
這是主板廠商生產的主板,這也就是我們所說的介面的使用者,在他生產主板的時候並不知道用戶使用的是哪塊顯卡(程序中這樣理解:Mainborad這個類只知道介面VidioCard中有哪些方法,但是並不知道介面的實現類HaolongVidio是怎麼去實現介面的,也就是生產主板的廠商並沒有必要考慮顯卡是哪個廠商的,他要做的只是根據介面把顯卡插槽做好,介面里沒有實現的方法相當於插槽),但是他留出來了顯卡的插槽(插槽就是介面),也就是他不關心誰實現的介面,但是他可以使用介面,預留出顯卡的插槽讓用戶去選購顯卡。
4、現在我們用戶開始組裝計算機了:
publicclassChengDuActor
{
publicstaticvoidmain(String[]args){
HaolongVidiohv=newHaolongVidio();//買了一塊HaolongVidio顯卡
MainBoradmb=newMainBorad();//買了一塊主板
mb.setCPU("Intel");//買的是Inter主板
mb.setVidioCard(hv);//把HaolongVidio插到主板上(通過主板上setVidio方法)
//System.out.println(hv.getName());
mb.run();//開電腦運行
System.out.println("success");
}
};
以上看出介面的作用就是大力實現了java的開源性,使軟體開發過程優化,介面重要的特徵是實現了多樣性,能夠很好地解決C++中遺留的多繼承中出現的問題。