首頁 >Java >Java基礎 >c#介面與java介面的區別

c#介面與java介面的區別

王林
王林原創
2019-11-19 14:45:154141瀏覽

c#介面與java介面的區別

1、介面中定義成員

C#,如圖我在介面ITest新增了一個欄位n,那麼vs直接就顯示紅色的底線,而錯誤就是介面不能包含欄位

c#介面與java介面的區別

java,如下圖,編譯也是報錯但是並不是介面中不能包含而是缺少賦值,那麼我們賦值再看一次。可以看到沒有問題,也就是成員變數預設是public static final,我們知道final必須是需要賦值的,所以不賦值會編譯處所。

c#介面與java介面的區別

經過賦值後,發現沒有問題,如下圖:

c#介面與java介面的區別

2、在介面中定義一些方法

C#,我們都知道在一個介面中的方法都是需要子類別去實現的,那麼我們在介面中的方法是不能有實作的,如果加入了實作就會有錯誤。錯誤就是介面不能有定義。

c#介面與java介面的區別

java中也就是jdk1.8加入了一些可以實現的方法。 default,static中就可以有實作。如下圖,編譯沒有問題。那麼c#有預設和靜態的方法嗎?在接口中,很抱歉沒有。

c#介面與java介面的區別

c#中是沒有的,對static,default的介面方法是無法定義的。因為無效。

c#介面與java介面的區別

總結:

1、在java中,介面可以包含字段,但這些字段隱含地是static和final的,而C#不允許介面中有字段,編譯器在編譯時就會提示錯誤;

2、在Java中,方法宣告可以帶有public修飾符(即使這並非必要),但在C#中,顯式地為介面中的方法指定public修飾符是非法的。

推薦教學:java開發入門

以上是c#介面與java介面的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn