首頁  >  文章  >  後端開發  >  比較分析C#與Java的差異

比較分析C#與Java的差異

烟雨青岚
烟雨青岚轉載
2020-06-30 13:29:428107瀏覽

比較分析C#與Java的差異

相同點:

都是物件導向程式設計的語言,都能夠實現物件導向的(封裝,繼承,多型)思想

不同點:

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

2.c#和Java都是從main函數入口的,但是c#中的main函數的首字母必須大寫

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

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

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

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

#7. Java中的static final修飾符。在C#中,常數可以用const關鍵字宣告。

8.存取修飾符:C#中的存取修飾符與Java中的基本對應,但多出了一個internal。簡而言之,C#有5種類型的可訪問性,如下所示:
public:成員可以從任何程式碼存取。 protected:成員只能從衍生類別存取。

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

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

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

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

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

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

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

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

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

15. 宣告陣列 

在Java中,陣列的宣告方法非常靈活,實際上有許多種宣告方法都屬於合法的方法。例如,下面的幾行程式碼是等價的:

int[] x = { 0, 1, 2, 3 }; 
int x[] = { 0, 1, 2, 3 };

但在C#中,只有第一行程式碼合法,[]不能放到變數名字之後。

感謝大家的閱讀,希望大家收益多多。

本文轉自:https://blog.csdn.net/qq_39657909/article/details/80781481

推薦教學:《C語言

以上是比較分析C#與Java的差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除