您好,登錄后才能下訂單哦!
c#的接口和java的接口有區(qū)別嗎?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
1、接口中定義成員
C#,如圖我在接口ITest添加了一個(gè)字段n,那么vs直接就顯示紅色的底線,而錯(cuò)誤就是接口不能包含字段
java,如下圖,編譯也是報(bào)錯(cuò)但是并不是接口中不能包含而是缺少賦值,那么我們賦值一下再看??梢钥吹?jīng)]有問題,也就是成員變量默認(rèn)是public static final,我們知道final必須是需要賦值的,所以不賦值會(huì)編譯處所。
經(jīng)過賦值后,發(fā)現(xiàn)沒有問題,如下圖:
2、接口中定義一些方法
C#,我們都知道在一個(gè)接口中的方法都是需要子類去實(shí)現(xiàn)的,那么我們?cè)诮涌谥械姆椒ㄊ遣荒苡袑?shí)現(xiàn)的,如果添加了實(shí)現(xiàn)就會(huì)有錯(cuò)誤。錯(cuò)誤就是接口不能有定義。
java中也就是jdk1.8添加了一些可以實(shí)現(xiàn)的方法。default,static中就可以有實(shí)現(xiàn)。如下圖,編譯沒有問題。那么c#有默認(rèn)和靜態(tài)的方法嗎?在接口中,很抱歉沒有。
c#中是沒有的,對(duì)static,default的接口方法是不能定義的。因?yàn)闊o效。
總結(jié):
1、在java中,接口可以包含字段,但這些字段隱式地是static和final的,而C#不允許接口中有字段,編譯器在編譯時(shí)就會(huì)提示錯(cuò)誤;
2、在Java中,方法聲明可以帶有public修飾符(即使這并非必要),但在C#中,顯式地為接口中的方法指定public修飾符是非法的。
關(guān)于c#的接口和java的接口有區(qū)別嗎問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。