❶ Java中為什麼要使用介面
介面可以使程序更整潔,比如你看到了這個類實現了Runnable介面讓肢,那它就一定有一個run()方法。就租巧像招牌一樣,方便調用。
介面弊滑鍵解決了java的多繼承。雖然java只能繼承一個類但卻可以實現多個介面。
❷ 為什麼使用介面
問題一:介面的作用,為什麼要用介面 介面的作用:
介面的用途不但多,而且是非常必要。這就是為什麼我們為什麼老是提「面向介面編程」的概念。
你現在對其理解不深沒有關系,只是在實際中先用。等積累到一定程度就知道介面的好處了。
就拿你上面的例子說介面的用途之一,那就是「多態」州慧。這個詞你應該不陌生吧,相信老師應該和你們說過吧
VideoCard vc=new Elsa();
VideoCard vc=new Colourful();
vc.display();
這里vc 可以new Elsa(); 可以new Colourful(); 可以實現不同的功能。換句話說一會可以拿它當錘子使用,一會
拿他當電鋸使用,前提是他們實現了同樣的介面。只要你介面的方法定義沒有變,針對外部而言 ,你的具體實現外部是不
感知的。所以,這就為你以後程序的擴展性提供基礎。「對修改封閉,對擴展開發」。
前面是介面的一個基本用途,規定子類的行為。更為廣闊的用途是介面為其他人使用者提供什麼用途。模塊和模塊之間的解耦
就看你的介面設計的是不是合理,是不是好用。這就是框架設計師。
為什麼要用接場 :用於處理多變的情況。
介面在實際開發過程中最大好處是,你可以按照設計,先把介面寫好,然後分配大夥幹活的時候,告訴a們去用寫好的介面去實現他們的具體功能,而告訴b們,去寫那些已經寫好但是沒有具體的代碼的介面,這樣可以提高工作效率。並且底弊余層和應用也通過介面做了一個很明顯的分層。
問題二:為什麼要用介面? 呵呵 你的理解和當初我的理解一樣,但這種理解是不正確的。
不知道你用沒用過JAVA的API,其實編程過程中很多東西都不是我們自己寫的,就好比你蓋樓,你不可能自己做水泥,做門窗,你寫的程序也多是調用別人寫好的東西來使用,如果不定義介面的話,你怎麼知道怎麼樣調用啊?你知道傳幾個參數,類型格式什麼嗎?你可能會說我直接看實現類,可如果代碼很多你看的過來嗎?如果使用介面就很清晰明了。
介面還有一個十分重要的作用,不知道你聊不理解設計模式,裡面的好多模式都和介面有關系
回答了半天才看見你給的懸賞分居然是0!!!!!!!!!!!!
算了當我沒說!
問題三:Java中為什麼要引進介面的概念? 對象通過介面對外提供服務。在面向對象的范疇中,介面是一個抽象的概念,是指系統對外提供的所有服務。系統的介面描述系統能夠提供那些服務,但不包含服務實現的細節。站在使用者的角度,對象中所有向使用者公開的方法的聲明構成了對象的介面。
在Java語言中,駭口有兩種意思:
一、是指以上介紹的概念性的介面,即指系統對外提供的所有服務,在對象中表現為public類型的方法的聲明。
二、是指用interface關鍵字定義的實實在在的介面,也稱為介面類型,它用於明確地描述系統對外提供的所有服務,它能夠更加清晰的把系統的實現細節與介面分離,實現封裝性。
介面是實現系統之間松藕和的有力手段。介面還提高了系統的可擴展性。冊卜答
關於松耦合的概念請參看jdon/jivejdon/thread/30175
問題四:抽象類和介面的區別、為什麼用抽象類。 答得稀爛。。。網上再學習了一次,在這里記下看到各位大蝦的金言。一、抽象類:在面向對象領域,抽象類主要用來進行類型隱藏。那什麼是類型隱藏呢?我們可以構造出一個固定的一組行為的抽象描述,但是這組行為卻能夠有任意個可能的具體實現方式。這個抽象描述就是抽象類,而這一組任意個可能的具體實現則表現為所有可能的派生類。好比,動物是一個抽象類,人、猴子、老虎就是具體實現的派生類,我們就可以用動物類型來隱 *** 、猴子和老虎的類型。( 參考doSome方法)二、介面:三、抽象類和介面的區別:首先,抽象類在Java語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個介面。也許,這是Java語言的設計者在考慮Java對於多重繼承的支持方面的一種折中考慮吧。 其次,在抽象類的定義中,我們可以賦予方法的默認行為。但是在介面的定義中,方法卻不能擁有默認行為,為了繞過這個限制,必須使用委託,但是這會 增加一些復雜性,有時會造成很大的麻煩。 抽象類在Java語言中體現了一種繼承關系,要想使得繼承關系合理,父類和派生類之間必須存在」is a」關系,即父類和派生類在概念本質上應該是相同的。對於介面來說則不然,並不要求介面的實現者和介面定義在概念本質上是一致的,僅僅是實現了介面定義的契約而已。介面表示的是」likea」關系。 使用抽象類來定義允許多個實現的類型,比使用介面有一個明顯的優勢:抽象類的演化比介面的演化要容易的多。在後續的發行版中,如果希望在抽象類中增加一個方法,只增加一個默認的合理的實現即可,抽象類的所有實現都自動提供了這個新的方法。對於介面,這是行不通的。雖然可以在骨架實現類中增加一方法的實現來解決部分問題,但這不能解決不從骨架實現類繼承的介面實現的問題。由此,設計公有的介面要非常謹慎,一旦一個介面被公開且被廣泛實現,對它進行修改將是不可能的。 所以,使用介面還是抽象類,取決於我們對問題的概念的本質理解和設計的意圖。Java介面與抽象類的相同點:1. 都不能被實例化。2. 都能包含抽象方法。抽象類與介面緊密相關。然介面又比抽象類更抽象,這主要體現在它們的差別上:1)類可以實現無限個介面,但僅能從一個抽象(或任何其他類型)類繼承,從抽象類派生的類仍可實現介面,從而得出介面是用來解決多重繼承問題的。2)抽象類當中可以存在非抽象的方法,可介面不能且它裡面的方法只是一個聲名必須用public來修飾沒有具體實現的方法。3)抽象類中的成員變數可以被不同的修飾符來修飾,可介面中的成員變數默認的都是靜態常量(static fainl)。4)這一點也是最重要的一點本質的一點抽象類是對象的抽象,然介面是一種行為規范。例如每個介面可以代表一種最頂層的抽象,可以理解為代表一類東西,如果一個類實現了多個介面,那這個類就有了多種類型,即介面是定義混合類型的理想工具最後:有一種設計模式,就是,默認適配模式,意思就是說,首先定義一個介面,通過抽象類實現這個介面,並實現一些子類不需要一定實現的方法,然後,子類就可以選擇是繼承介面,實現所有方法,還是直接繼承這個抽象類實現具體需要的方法,定義成抽象類是為了以後要其子類來繼承的,因為父類里有很多方法是無法定義具體的實現的,只能定義一個原型,讓子類來分別實現!所以要定義成抽象的!簡單來說就是抽象類是在介面和實體類之間的一個橋梁例如做一個介面叫做飛行FlyAnimalAction,裡面定義一個方法叫做flying,再定義一個方法叫做eat做一個類叫做蚊子實現介面,蚊子要實現flying方......>>
問題五:請問Java中為什麼要有介面。 首先,Java裡面是不能多重繼承的,介面的使用可以幫助我們彌補這點
其次,使用介面能隱藏我們程序內部的實現,我們只需要對外提供介面的調用,而將具體的實現放到實現介面的類裡面。
還有呢就是想你所說的重載方法還不如直接在類裡面定義,這點是可以達到目的,但是你這樣做是非常麻煩的。介面就像插座一樣,一個插孔可以插很多種電器,這個插孔就是我們像外面提供的介面,所有的電器都要實現這個介面,也就是要把插頭做成這樣。如果像你想的那樣,那我豈不是要為每一個電器都提供一中類型的插孔
問題六:Java中為什麼要使用介面 介面可以使程序更整潔,比如你看到了這個類實現了Runnable介面,那它就一定有一個run()方法。就像招牌一樣,方便調用。
介面解決了java的多繼承。雖然java只能繼承一個類但卻可以實現多個介面。
問題七:Java面向對象中為什麼要使用介面?? 介面是規范,規定某個實現類里必須有那些方法,只要事先定義好介面,當大家一起合作的時候就不用特別麻煩的交互,而是每個人寫好自己的介面實現類,最後拼接到一起就可以了
比如資料庫連接類,介面規定好有哪些方法、方法的功能,然後每個資料庫廠商根據介面去實現具體的類,達到統一的目的,要不每個資料庫廠商自己實現一套,那麼你編程的時候就要根據不同驅動使用不同的方法,造成不必要的麻煩
還有介面和多繼承一點關系都沒有
問題八:java中為什麼要使用介面 1介面的作用是實現多重繼承因為只能繼承一個類(規定的)2LZ的意思是介面定義的方法,在實現它的子類中有了,不是重寫了嗎?它存在的意思是抽象出來了。類似於目錄吧!讓人更清晰!
問題九:為什麼說採用介面,就可以實現解耦 首先你要清楚什麼是介面。介面就是標准。生活中有很多介面。如水龍頭水管介面、電源介面等。
現在有很多的水龍頭生產商,在採用介面之前,廠商要同時提供水龍頭和下水管,它們是一體的,不能變更。同時也只適用於他的這一種產品。而有了介面之後,廠商就就不用去管它的下水管如何設計了,只用安裝介面標准來生產水龍頭,完成後直接接到下水管上就可以了。耽就是面向介面。
這樣的話你的下水管就可以使用所有的符合下水管標準的水龍頭,而不是之前的一種水龍頭。而且更換水龍頭更加的方便。
放在程序中說就是。如果一個類不能確定它最後的類型,就是說不知道它以後要被實現成什麼樣,就可以採用面向介面的編程。所有需要這個類的地方都設成一個介面,而讓這個類繼承這個介面。後期要更改的時候只用繼承這個介面就可以了。
如 你的方法是 public void doSomething(IServer ser);參數是一個介面
public interface IServer{
something
}
然後你就可以寫很多不同的類來實現這個介面
如public class a implements IServer{
something
}
public class b implements IServer{
something
}
然後你的方法就可以這樣調用了。
doSomething(a);
doSomething(b);
這樣都是可以的~不知道你理解沒~
問題十:Java項目中為什麼要用介面,哪些地方用到了,用介面的好處是什麼? 說簡單點,一個項目需要別的項目對接的話,就需要介面來調你的項目的數據,方法等。不然直接初始化你的項目的類,從而修改一些數據,添加一些病毒方法的話,怎麼辦?安全形度。你的項目可能要很多別的來對接,a對接,b對接,c……如果不規范好,a對接後要改,b,c等等怎麼辦,就沒法用了。規范角度。(結合樓上理解更清楚,還有一些學習中的零件介面類比就好理解多了)
❸ java中什麼是介面介面的作用是什麼
java介面:
1、Java語言中存在的結構,有特定的語法和結構。
2、Java語言中一個類所具有的方法的特徵集合,是一種邏輯上的抽象。
java介面作用:
1、利於代碼的規范
這樣做的目的一方面是為了給開發人員一個清晰的指示,告訴他們哪些業務需要實現;同時也能防止由於開發人員隨意命名而導致的命名不清晰和代碼混亂,影響開發效率。
2、有利於對代碼進行維護
可以一開始定義一個介面,把功能菜單放在介面里,然後定義類時實現這個介面,以後要換的話只不過是引用另一個類而已,這樣就達到維護、拓展的方便性。
3、保證代碼的安全和嚴密
一個好的程序一定符合高內聚低耦合的特徵,能夠讓系統的功能較好地實現,而不涉及任何具體的實現細節。這樣就比較安全、嚴密一些,這一思想一般在軟體開發中較為常見。
(3)程序為什麼要有介面擴展閱讀:
關於java介面的使用規范:
1、介面中可以定義常量,不能定義變數,介面中的屬性都是全局靜態常量,介面中的常量必須在定義時指定初始值。
2、 介面中所有的方法都是抽象方法,介面中方法都會自動用public abstract 修飾,即介面中只有全局抽象方法。
3、 介面不能實例化,介面中不能有構造。
4、 介面之間可以通過extends實現繼承關系,一個介面可以繼承多個介面,但介面不能繼承類。
5、 介面的實現類必須實現介面的全部方法,否則必須定義為抽象類。
參考資料來源:網路:java介面
❹ Java中為什麼要使用介面
分類: 電腦/網路 >> 程序設計 >> 其他編程語言
問題描述:
設計介面的初衷是什麼?使用介面有哪沖畢些好處?接念掘口存在的意義何在?我想從本質上了解介面,不要只是告訴我介面的形式。
解析:
介面是用來規范類的
它可以避免類在設計上的不一致
這在多人合作的開發中猶為重要
就比如介面中有A方法
那散高芹么實現這個介面就必須實現A方法
這就形成了一種規范
❺ 為什麼java要有那麼多介面有什麼好處
很多JAVA初級程序員對於介面存在的意義很疑惑。不知道介面到底是有什麼作用,為什麼要定義介面。
好像定義介面是提前做了個多餘的工作。下面我給大家總結了4點關於JAVA中介面存在的意義:
1、重要性:在Java語言中, abstract class 和interface 是支持抽象類定義的兩種機制。正是由於這兩種機制的存在,才賦予了Java強大的 面向對象能力。
2、簡單、規碰枯中范性:如果一個項目比較龐大,那麼就需要一個能理清所有業務的架構師來定義一些主要的介面,這些介面不僅告訴開發人員你需要實現那些業務,而且也將命名規范限制住了(防止一敗緩些開發人員隨便命名導致別的程序員無法看明白)。
3、維護、拓展性:比如你要做一個畫板程序,其中裡面有一個面板類,主要負責繪畫功能,然後你就這樣定義了這個類。
可是在不久將來,你突然發現這個類滿足不了你了,然後你又要重新設計這個類,更糟糕是你可能要放棄這個類,那麼其他地方可能有引用他,這樣修改起來很麻煩。
如果你笑山一開始定義一個介面,把繪制功能放在介面里,然後定義類時實現這個介面,然後你只要用這個介面去引用實現它的類就行了,以後要換的話只不過是引用另一個類而已,這樣就達到維護、拓展的方便性。
4、安全、嚴密性:介面是實現軟體松耦合的重要手段,它描敘了系統對外的所有服務,而不涉及任何具體的實現細節。這樣就比較安全、嚴密一些(一般軟體服務商考慮的比較多)。
我有一個微信公眾號,每天都會分享一些Java相關的干貨文章,還有一些學習資源。
如果你喜歡我的分享,可以用微信搜索「Java團長」或者「javatuanzhang」關注。
❻ java為什麼要用介面
Java不支持多繼承,但支持多介面,介面能彌補不支持多繼承的缺點;
1.介面是java中的一大特性和一大支柱性的優。
2.介面用來別具體的類實現,會自動繼承介面中的抽象方法給這類繼承他的類。
3.介面有點像是復制的意思.只不過是java中是這么寫罷臘升了。
4.現在已經開始"面向介面編程"時代,利用介面來解耦。
5.介面中的輪辯老方法一定都會被繼承他的類實現`,如果少繼承了或者沒有繼承`會報錯,灶陸
比如說`寫了100個類,每個類中都需要一些同名且返回值一樣的方法,這時候就可以用介面,把這些方法全部寫在一個介面中,讓這10個類去實現,這樣100個類中就有了這些方法`只需要自己具體的去填寫方法內部了。
❼ 什麼是介面為什麼要定義介面介面與類有和異同
我們把用於完成特定功能的若干屬性組織成相對獨立的屬性集合。這種屬性的集合就是介面。
定義介面與定義類非常相似。實際上完全可以把介面理解成為一種特殊的類,介面是由常量和抽象方法組成的特殊類。一個類只能由一個父類,但是它可以同時實現若干個介面。這種情況下如果把介面理解成特殊的類,那麼這個類利用介面實際上就獲得了多個父類,即實現了多重繼承。與類定義相仿,聲明介面時也需要給出訪問控制符,不同的是介面的訪問控制符只有public一個。用public修飾的介面是公共介面,可以被所有的類和介面使用,而沒有public修飾符的介面則只能被同一個包中的其他類和介面利用。介面也具有繼承性。定義一個介面是可以通過extends關鍵字聲明該新介面是某個已經存在的父介面的派生介面,它將繼承父介面的所有屬性和方法。與類的繼承不同的是一個介面可以有一個以上的父介面,它們之間用逗號分隔,形成父介面列表。新介面將繼承所有父介面中的屬性和方法。
❽ 為什麼寫Java程序需要介面
我之所以以這個作為標題,並不是為了玩噱頭,講一些似是而非的空話,還是以探索加發現,
首先介面並不是Java才有的,這個是面向對象語言的基本特徵之一。回想面向對象之前的那些
編程語言Win32 API中有個最經典的例子是當你在windows窗口中繪槐知制一些內容以後,最大
化再最小化以後內容沒了,鉛鉛消原因是你沒有捕獲重寫windows的一個WM_Paint的消息,
CallBack(回調)
,意思是你調用
然而當面向對象語言洶涌發展,各種設計模式應運大行其道,很少再有人提及Callback了,怎
么回事情,難道它消失了嗎,沒有它被面向對象語言換了個名字用得更加的大行其道,以致你以
為它不存在了,在Java中它就是介面。舉個Java中最簡單的例子,線程的Runnable介面,當
你在Java中啟動一個線程時候,Java通過調用thread.start()函數來幫你實現線程的啟動,但是
現,所以這個是個很好的CallBack的例子,你調用start()方法讓JVM執行線程,JVM回調你實
另外個很好的例子,可以很完美的詮釋介面的秒用,Java編譯的時候常會有包依賴關系,假設A
要依賴B,這個沒問題,如果有一天你發現B中的類C居然要反過來訪問A裡面的類D,你傻
眼了,這樣就會破壞AB之間的依賴關系,還會產生編譯錯誤,這個時候定義介面文件E在B中,
讓D繼承一下,傳回一個reference給C,問題很完美的解決,也許這么說比較復雜,看下圖:
就這樣,你還可以在D中調用C,想讓C執行D的方法process()只要回傳一個reference即可。
而Spring則將介面激旁的概念更加的發揚光大,很多人接觸Spring就知道一個概念依賴注入,如果
事情,完全由你自己決定,這是一個很偉大的思想,不過是把介面與實現更加測地的分離了,這
樣你再也不遇到因為包依賴關系導致的編譯錯誤,Spring的ApplicationContext與
XMLBeanFactory對象幫你自動實現了包依賴解耦。
最後你會發現,介面本質上不過在回調函數之上批了一件華麗的外衣,想當初WIN32 API的年
代,只有Callback這種東西真的滿天飛,而且現在還在飛!
❾ 為什麼寫Java程序需要介面
這里我們需要先明確定義,你說的java,如果單純的指java本身,那麼介面就是interface;如果你指的是工作中用到的java,那大部分指的是提供出去給其他程序調用的介面。如果是interface,那沒啥好說的,java開始就提供了這個功能,方便coder在不考慮具體實現的情況下,慎滑先明確傳參入參要實羨孝殲現的大概功能等問題,是個好東西。如果你指的是其他程序調用的介面,舉個栗子:iPhone的手機想用android的數據線充電,那就需要一個轉換頭,我們的介面相當於附著在java項目上的轉換頭,只不過恰好也適用java這種語兄沖言寫的罷了。