首頁 > Java > java教程 > 主體

c#和java的差別有哪些

爱喝马黛茶的安东尼
發布: 2019-11-11 13:16:44
原創
3405 人瀏覽過

c#和java的差別有哪些

Java和C#都是程式設計的語言,它們是兩個不同方向的兩種語言。

相同點:

他們都是物件導向的語言,也就是說,它們都能實現物件導向的想法(封裝、繼承、多型)。

區別:

1. c#中的命名空間是namespace類似Java中的package(套件),在Java中導入套件用import而c#中用using。

2. c#和Java都是從main函數入口的,但是c#中的main函數的首字母必須大寫,它有四種寫法如下:

static void Main(string args[]){}

static int Main(string args[]){}

static void Main(){}

static void Main(){}

##而Java只有一種形式:static void main(String [] args){}

3.資料型態:Java跟c#基本上都差不多,但是Java的String類型的首字母必須大寫,而c#中可以小寫也可以大寫,還有布林型,Java中是boolean,c#中是bool。

4.變數的命名:Java中可以用$符號,而c#中不可以使用。

5.註:Java比c#少一種"///"的文件註解。

6.輸出:c#有三種方式輸出:Cosole.WriteLine(); Cosole.WriteLine(要輸出的值); Cosole.WriteLine("格式字串",變數列表); 前兩種的用法與Java中的ystem.out .println()方法的用法相同,第三種方式是根據佔位符輸出的,比Java更方便了。

7.控制流程語句:c#跟Java類似,還有c#中的switch如果case後面有內容必須要有break;Java可以沒有break;

#8.陣列:兩種語言的聲明都是用new關鍵字的。都可以在建立陣列的同時初始化如:int a[]={1,2,3,5,5};但是c#比Java多兩種初始化如:int a[]=new int[3]{1, 2,3}; int a[]=new int[]{1,2,3};

#9.方法中傳遞的參數:兩種語言都使用值傳遞與參考傳遞。

C#的引用傳遞的關鍵字是ref與out,ref著重於修改,而out專注於輸出。而Java中都以傳值方式;

10.存取修飾符:C#中的存取修飾符與Java中的基本對應,但多出了一個internal。簡而言之,C#有5種類型的可訪問性,如下所示:

public:成員可以從任何程式碼存取。 protected:成員只能從衍生類別存取。

internal:成員只能從同一組件的內部存取。

protected:成員只能從同一組件內的衍生類別存取。

private:成員只能在目前類別的內部存取。

11.由於C#中不存在final關鍵字,如果想要某個類別不再被派生,你可以使用sealed關鍵字來密封。

12.集合:兩種語言都有集合ArrayList,還有透過鍵存取值的Java中是HashMap而c#中是HashTable。 c#比Java多泛型集合List與Dictionary更容易了,無需拆箱裝箱了,更安全了。

13.繼承:Java中用關鍵字extends,c#只用":"就行了.呼叫父類別的建構方法Java用super關鍵字,而c#用base關鍵字。

14.多態:抽象類別和抽象方法兩種語言都用abstract關鍵字。 Java中另外一個類別如果繼承了它,實作直接重寫此方法就可以了;而c#必須加上關鍵字override實作。 C#也比Java多一種虛方法來實作多態。

15.介面:都用關鍵字interface定義,Java實作用關鍵字implements;c#用":"實作。在C#中,介面內的所有方法預設都是公用方法。在Java中,方法宣告可以帶有public修飾符(即使這並非必要),但在C#中,明確為介面的方法指定public修飾符是非法的。

16. C#中的is操作符與Java中的instanceof操作符一樣,兩者都可以用來測試某個物件的實例是否屬於特定的類型。在Java中沒有與C#中的as操作符等價的操作符。 as操作符與is操作符非常相似,但它更富有"進取心":如果類型正確的話,as操作符會嘗試把被測試的物件引用轉換成目標類型;否則,它把變數引用設定成null。

17.枚舉器即enum類型(java無),把它當作一個變數值的型別使用,從而把變數可能的取值範圍限制為在枚舉器中出現的值。

18.結構(Struct)與類別很相似,而結構是一種值類型,它存儲在棧中或者是嵌入式的,結構可以實現接口,可以像類一樣擁有成員,但結構不支持繼承。

19. c#保留了指標。 Unsafe。 (C#使用指標不安全,最後這條有待考證)

php中文網,大量的免費

Java入門教學,歡迎線上學習!

以上是c#和java的差別有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板