很多JAVA初級(jí)程序員對(duì)于接口存在的意義很疑惑。不知道接口到底是有什么作用,為什么要定義接口。
硚口網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。好像定義接口是提前做了個(gè)多余的工作。下面我給大家總結(jié)了4點(diǎn)關(guān)于JAVA中接口存在的意義:
1、重要性:在Java語(yǔ)言中, abstract class 和interface 是支持抽象類定義的兩種機(jī)制。正是由于這兩種機(jī)制的存在,才賦予了Java強(qiáng)大的 面向?qū)ο竽芰Α?/p>
2、簡(jiǎn)單、規(guī)范性:如果一個(gè)項(xiàng)目比較龐大,那么就需要一個(gè)能理清所有業(yè)務(wù)的架構(gòu)師來(lái)定義一些主要的接口,這些接口不僅告訴開發(fā)人員你需要實(shí)現(xiàn)那些業(yè)務(wù),而且也將命名規(guī)范限制住了(防止一些開發(fā)人員隨便命名導(dǎo)致別的程序員無(wú)法看明白)。
3、維護(hù)、拓展性:比如你要做一個(gè)畫板程序,其中里面有一個(gè)面板類,主要負(fù)責(zé)繪畫功能,然后你就這樣定義了這個(gè)類。
可是在不久將來(lái),你突然發(fā)現(xiàn)這個(gè)類滿足不了你了,然后你又要重新設(shè)計(jì)這個(gè)類,更糟糕是你可能要放棄這個(gè)類,那么其他地方可能有引用他,這樣修改起來(lái)很麻煩。
如果你一開始定義一個(gè)接口,把繪制功能放在接口里,然后定義類時(shí)實(shí)現(xiàn)這個(gè)接口,然后你只要用這個(gè)接口去引用實(shí)現(xiàn)它的類就行了,以后要換的話只不過(guò)是引用另一個(gè)類而已,這樣就達(dá)到維護(hù)、拓展的方便性。
4、安全、嚴(yán)密性:接口是實(shí)現(xiàn)軟件松耦合的重要手段,它描敘了系統(tǒng)對(duì)外的所有服務(wù),而不涉及任何具體的實(shí)現(xiàn)細(xì)節(jié)。這樣就比較安全、嚴(yán)密一些(一般軟件服務(wù)商考慮的比較多)。
java調(diào)用接口的方法
package com.shz.Test; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class GupiaoZi { private static String Gopiao(String id,int pageIndex) { String result=""; try { URL url=new URL("地址"); String key="官網(wǎng)申請(qǐng)的key"; HttpURLConnection conn=(HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setDoOutput(true); conn.setDoInput(true); conn.setConnectTimeout(5000); conn.setReadTimeout(5000); conn.setUseCaches(false); conn.connect(); DataOutputStream out=new DataOutputStream(conn.getOutputStream()); //拼接起來(lái) String connect="id="+id+"&key="+key+"&pageIndex="+pageIndex; System.out.println(connect); out.writeBytes(connect); out.flush(); out.close(); BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer buffer=new StringBuffer(); String str=""; while((str=br.readLine())!=null){ buffer.append(str); } br.close(); result=buffer.toString(); } catch (Exception e) { e.printStackTrace(); } return result; } public static void main(String[] args) { String id="5687"; int pageIndex=1; String str=Gopiao(id,pageIndex); System.out.println(str); } }