java介面的作用和意義
㈠ 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++中遺留的多繼承中出現的問題。
㈡ java中什麼是介面介面的作用是什麼
java介面:
1、Java語言中存在的結構,有特定的語法和結構。
2、Java語言中一個類所具有的方法的特徵集合,是一種邏輯上的抽象。
java介面作用:
1、利於代碼的規范
這樣做的目的一方面是為了給開發人員一個清晰的指示,告訴他們哪些業務需要實現;同時也能防止由於開發人員隨意命名而導致的命名不清晰和代碼混亂,影響開發效率。
2、有利於對代碼進行維護
可以一開始定義一個介面,把功能菜單放在介面里,然後定義類時實現這個介面,以後要換的話只不過是引用另一個類而已,這樣就達到維護、拓展的方便性。
3、保證代碼的安全和嚴密
一個好的程序一定符合高內聚低耦合的特徵,能夠讓系統的功能較好地實現,而不涉及任何具體的實現細節。這樣羨弊就比較安全、嚴密一些凳鬧,這一思想一般在軟體開發中較為常見。
(2)java介面的作用和意義擴展閱讀:
關於java介面的使用規范:
1、介面中可以定義常量,不能定義變數,介面中的屬性都是全局靜態常量,介面中的常量必須在定義時指定初始棗派罩值。
2、 介面中所有的方法都是抽象方法,介面中方法都會自動用public abstract 修飾,即介面中只有全局抽象方法。
3、 介面不能實例化,介面中不能有構造。
4、 介面之間可以通過extends實現繼承關系,一個介面可以繼承多個介面,但介面不能繼承類。
5、 介面的實現類必須實現介面的全部方法,否則必須定義為抽象類。
參考資料來源:網路:java介面
㈢ java中什麼是介面介面的作用是什麼
抽象類和介面
什麼是介面:介面就是一些方法特徵的集合------介面是對抽象的抽象。
什麼是抽象類:抽象類對某具體類型的部分實現------抽象類是對具體的抽象。
方法特徵包括:方法的名字、參數的數目、參數的類型。不包括:返回類型、參數名字、和拋出的異常。
介面是類型轉換的前提、是動態調用的保證。實現某一介面就完成了類型的轉換(多重繼承);動態調用只關心類型,不關心具體類。
--------------------------------------------------------------------------------------------------------------------------------------
java介面(抽象類)用來聲明一個新的類型。
Java設計師應當主要使用介面和抽象類將軟體單位與內部和外部耦合起來。
換言之,應當使用java介面和抽象類而不是具體類進行變數的類型聲明、參數的類型聲明、方法的返回類型聲明、以及數據類型的轉換等。
當然一個更好的做法是僅僅使用介面,而不是抽象類來做上面這些事情。
在理想的情況下,一個具體類應當只實現介面和抽象類中聲明的方法,而不應當給出多餘的方法!
介面和抽象類一般作為一個類型等級結構的起點。
介面比抽象類更為抽象所以優先使用介面聲明抽象類型!
--------------------------------------------------------------------------------------------------------------------------------------
抽象類和介面
抽象類僅提供一個類的部分實現。抽象類可以有實例變數、以及一個或多個構造函數。抽象類可以同時又抽象方法和具體方法。
一個抽象類不會有實例,它的構造函數不能被客戶端用來創建實例。一個抽象類的構造函數可以被其子類調用,從而使一個抽象類的所有子類可以有一些共同的實現,而不同的子類可以在此基礎上有不同的實現。
介面比抽象類更為抽象所以有線使用介面聲明抽象類!
抽象類是用來繼承的。(具體類不是用來繼承的,「只要有可能不要從具體類繼承---scott meryes」)。
抽象類設計原則:
1.
抽象類應當擁有盡可能多的代碼!(公用方法)。代碼集中於抽象的方向。
2.
抽象類應當擁有盡可能少的數據!(公共屬性)。數據集中於具體的方向。
繼承復用的使用條件------- Peter Coad條件
1.
子類是超類的一個特殊種類而不是超類的一個角色!正確區分「Has-A」「Is-A」的關系。
2.
子類之間不應發生替換!?
3.
子類具有擴展超類的責任,而不是置換(Override)掉或注銷(Nullify)掉的責任。
4.
只有在分類學角度上有意義時才可以使用繼承,不要從具體類繼承。
介面和抽象類的區別:
1.
抽象類可以提供某些方法的實現。如果向抽象類中加入一個新的具體的方法,那麼所有的子類一下子就得到了這個方法。介面做不到這一點!(這也許是抽象類的唯一優點)。
2.
因java的單根結構限制,只類只能實現一個抽象類類型,而介面類型這無此限制。這使抽象類作為類型定義工具的效能落後於介面。介面是定義混合類型(實現多從繼承)的理想工具:用一個
3.
從代碼重構的角度上講,將一個具體類重構成一個介面的實現是很容易的。
研究好這中間的差別很有用的!
㈣ java介面作用是什麼
介面是一種規范
軟體開發大多是一個協作性的工作:電器和插座分別是不同人完成的,有了介面大家就能分頭開干,都按照介面來辦事,各自做完就能輕松地整合到一起。各部分的測試也更加方便。
介面在開發過程中可以快速分離工作內容。
比如調用者在寫業務邏輯的時候需要一個功能,可能是資料庫訪問,或者復雜計算,但是他的工作專注於實現業務邏輯,不想分開精力去做底層實現,那麼他只需要先實現一個介面,定義了規范,然後就可以繼續他的業務邏輯代碼了。而實現者可以根據這個介面規范,做具體的實現。
這樣通過使用介面就可以快速的分離工作內容,達到團隊並行工作的目的。
(4)java介面的作用和意義擴展閱讀:
功能
在Java語言規范中,一個方法的特徵僅包括方法的名字,參數的數目和種類,而不包括方法的返回類型,參數的名字以及所拋出來的異常。在Java編譯器檢查方法的重載時,會根據這些條件判斷兩個方法是否是重載方法。
但在Java編譯器檢查方法的置換時,則會進一步檢查兩個方法(分處超類型和子類型)的返還類型和拋出的異常是否相同。
介面實現和類繼承的規則不同,為了數據的安全,繼承時一個類只有一個直接父類,也就是單繼承,但是一個類可以實現多個介面,介面彌補了類的不能多繼承缺點,繼承和介面的雙重設計既保持了類的數據安全也變相實現了多繼承。
Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。但是介面不是類,不能使用new 運算符實例化一個介面。
㈤ JAVA 介面是什麼
Java介面是一系列方法的聲明,是一些方法特徵的集合,一個介面只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。
介面作用如下:
1、豐富Java面向對象的思想:在Java語言中, abstract class 和interface 是支持抽象類定義的兩種機制。正是由於這兩種機制的存在,才賦予了Java強大的面向對象能力。
2、提供簡單、規范性:如果一個項目比較龐大,那麼就需要一個能理清所有業務的架構師來定義一些主要的介面,這些介面不僅告訴開發人員你需要實現那些業務,而且也將命名規范限制住了(防止一些開發人員隨便命名導致別的程序員無法看明白)。
3、提高維護、拓展性:比如你要做一個畫板程序,其中裡面有一個面板類,主要負責繪畫功能,然後你就這樣定義了這個類,可是在不久將來,你突然發現這個類滿足不了你了,然後你又要重新設計這個類,更糟糕是你可能要放棄這個類,那麼其他地方可能有引用他,這樣修改起來很麻煩,如果你一開始定義一個介面,把繪制功能放在介面里,然後定義類時實現這個介面,然後你只要用這個介面去引用實現它的類就行了,以後要換的話只不過是引用另一個類而已,這樣就達到維護、拓展的方便性。
4、增強安全、嚴密性:介面是實現軟體松耦合的重要手段,它描敘了系統對外的所有服務,而不涉及任何具體的實現細節。這樣就比較安全、嚴密一些(一般軟體服務商考慮的比較多)。
(5)java介面的作用和意義擴展閱讀:
關於介面的使用規范:
1、介面中可以定義常量,不能定義變數,如果你在介面中定義屬性,那麼通過反編譯可以看見他會自動用public static final 修飾,介面中的屬性都是全局靜態常量,介面中的常量必須在定義時指定初始值。
2、 介面中所有的方法都是抽象方法,介面中方法都會自動用public abstract 修飾,即介面中只有全局抽象方法。
3、 介面不能實例化,介面中不能有構造。
4、 介面之間可以通過extends實現繼承關系,一個介面可以繼承多個介面,但介面不能繼承類。
㈥ java的介面是什麼意思,介面具體能做什麼呢
java介面的用處主要體現在下面幾個方面:
(1)通過介面可以實現不相關類的相同行為,而不需要了解對象所對應的類。
(2)通過介面可以指明多個類需要實現的方法。
(3)通過介面可以了解對象的交互界面,而不需了解對象所對應的類。
類描述了一個實體,包括實體的狀態,也包括實體可能發出的動作。
介面定義了一個實體可能發出的動作。但是只是定義了這些動作的原型,沒有實現,也沒有任何狀態信息。
所以介面有點象一個規范、一個協議,是一個抽象的概念;而類則是實現了這個協議,滿足了這個規范的具體實體,是一個具體的概念。
從程序角度,簡單理解,介面就是函數聲明,類就是函數實現。需要注意的是同一個聲明可能有很多種實現。
1、介面中定義類方法的原型,但是不能說是空方法,因為空方法的意思是有實現體,只不過實現體是空操作。實際上介面沒有定義任何實現體。具體的實現體都是在實現介面的類中,介面只是定義了這些方法的調用方式。
你當然也可以不用介面,直接在類裡面寫方法,但是如果你的一組方法需要在很多類里實現,那麼把它們抽象出來,做成一個介面規范,不是更好么?
2、一個類描述了一個實體,這個實體可能是一個復雜的對象,它的動作很多,如果把這些動作分類,用介面a定義其中的某一組動作,介面b定義其中的另外一組動作,這樣的結構,比較清楚。
這種方式具備了多繼承的優點,避免了多繼承的缺陷。實際上在歷史上,介面在很大程度上,是為了解決多繼承帶來的種種問題而設計出來的。
3、包中那些已定義的介面,怎麼知道那裡面定義了什麼方法。
介面里定義了方法的輸入輸出,這些都是協議,具體的實現都在每個類中。對於很多隻需要抽象介面的地方,不需要知道具體的類是什麼,只要這個類實現了這個介面就可以了。
㈦ java的介面是什麼
介面(Interface)是對符合介面需求的類的一套規范
介面主要作用是可以幫助實現類似於類的多重繼承的功能。
語法如圖
一個Java介面是一些方法特徵的集合,但沒有方法的實現
介面是由常量和抽象方法組成的特殊類
-------------------------------------------------------------
介面的定義
介面的定義包括介面聲明和介面體
介面體包括常量定義和方法定義
-------------------------------------------------------------
介面的實現
在類的聲明中用implements子句來表示一個類使用某個介面
在類體中可以使用介面中定義的常量,而且必須實現介面中定義的所有方法
一個類可以實現多個介面,在implements子句中用逗號分開
----------------------------------------------------------------
介面類型的使用
介面作為一種引用類型來使用
任何實現該介面的類的實例都可以存儲在該介面類型的變數中,通過這些變數可以訪問類所實現的介面中的方法
-------------------------------------------------
介面的特性:
介面可以多重實現
介面可以繼承其它的介面,並添加新的屬性和抽象方法
通過介面可以實現不相關類的相同行為,而不需要考慮這些類之間的層次關系。
通過介面可以指明多個類需要實現的方法。
通過介面可以了解對象的交互界面,而不需了解對象所對應的類
與繼承關系類似,介面與實現類之間存在多態性