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