溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#和Java的相同點(diǎn)與不同點(diǎn)

發(fā)布時(shí)間:2020-07-01 09:55:44 來源:億速云 閱讀:244 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)C#和Java的相同點(diǎn)與不同點(diǎn),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

相同點(diǎn):

都是面向?qū)ο缶幊痰恼Z言,都能夠?qū)崿F(xiàn)面向?qū)ο蟮模ǚ庋b,繼承,多態(tài))思想

不同點(diǎn):

1.   c#中的命名空間是namespace類似于Java中的package(包),在Java中導(dǎo)入包用import而c#中用using。

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

3.      數(shù)據(jù)類型:Java跟c#基本都差不多,但是Java的String類型的首字母必須大寫,而c#中可以小寫也可以大寫,還有布爾型,Java中是boolean,c#中是bool。

4.      變量的命名:Java中可以用$符號(hào),而c#中不可以使用。

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

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

7.      Java中的static final修飾符。在C#中,常量可以用const關(guān)鍵詞聲明。

8.      訪問修飾符:C#中的訪問修飾符與Java中的基本對(duì)應(yīng),但多出了一個(gè)internal。簡(jiǎn)而言之,C#有5種類型的可訪問性,如下所示:
public:成員可以從任何代碼訪問。protected:成員只能從派生類訪問。

internal:成員只能從同一程序集的內(nèi)部訪問。

protected:成員只能從同一程序集內(nèi)的派生類訪問。

private:成員只能在當(dāng)前類的內(nèi)部訪問。

9.      由于C#中不存在final關(guān)鍵詞,如果想要某個(gè)類不再被派生,你可以使用sealed關(guān)鍵詞密封。

10.  集合:兩種語言都有集合ArrayList,還有通過鍵訪問值的Java中是HashMap而c#中是HashTable。c#比Java多泛型集合List<T>與Dictionary<K,V>更容易了,無需拆箱裝箱了,更安全了。

11.  繼承:Java中用關(guān)鍵字extends,c#只用":"就行了.調(diào)用父類的構(gòu)造方法Java用super關(guān)鍵字,而c#用base關(guān)鍵字。

12.  多態(tài):抽象類和抽象方法兩種語言都用abstract關(guān)鍵字。Java中另外一個(gè)類如果繼承了它,實(shí)現(xiàn)直接重寫此方法就可以了;而c#必須加上關(guān)鍵字override實(shí)現(xiàn)。C#還比Java多一種虛方法來實(shí)現(xiàn)多態(tài)。

13.  接口:都用關(guān)鍵字interface定義,Java實(shí)現(xiàn)用關(guān)鍵字implements;c#用":"實(shí)現(xiàn)。在C#中,接口內(nèi)的所有方法默認(rèn)都是公用方法。在Java中,方法聲明可以帶有public修飾符(即使這并非必要),但在C#中,顯式為接口的方法指定public修飾符是非法的。

14.  C#中的is操作符與Java中的instanceof操作符一樣,兩者都可以用來測(cè)試某個(gè)對(duì)象的實(shí)例是否屬于特定的類型。在Java中沒有與C#中的as操作符等價(jià)的操作符。as操作符與is操作符非常相似,但它更富有"進(jìn)取心":如果類型正確的話,as操作符會(huì)嘗試把被測(cè)試的對(duì)象引用轉(zhuǎn)換成目標(biāo)類型;否則,它把變量引用設(shè)置成null。

15. 聲明數(shù)組

在Java中,數(shù)組的聲明方法非常靈活,實(shí)際上有許多種聲明方法都屬于合法的方法。例如,下面的幾行代碼是等價(jià)的:

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

但在C#中,只有第一行代碼合法,[]不能放到變量名字之后。

關(guān)于C#和Java的相同點(diǎn)與不同點(diǎn)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

AI