淺談C#向Java學(xué)習(xí)的體現(xiàn)
C#向Java學(xué)習(xí)的體現(xiàn)是什么呢?我們知道微軟C#語(yǔ)言定義主要是從C和C++繼承而來(lái)的,而且語(yǔ)言中的許多元素也反映了這一點(diǎn).C#在設(shè)計(jì)者從C++繼承的可選選項(xiàng)方面比Java要廣泛一些(比如說(shuō)structs),它還增加了自己新的特點(diǎn)(比方說(shuō)源代碼版本定義).但它還太不成熟,不可能擠垮Java.C#還需要進(jìn)化成一種開(kāi)發(fā)者能夠接受和采用的語(yǔ)言.而微軟當(dāng)前為它的這種新語(yǔ)言大造聲勢(shì)也是值得注意的.目前大家的反應(yīng)是:"這是對(duì)Java的反擊."
C#向Java學(xué)習(xí)的體現(xiàn)淺談:
C#更象Java一些,雖然微軟在這個(gè)問(wèn)題上保持沉默.這也是意料中的事情,我覺(jué)得,因?yàn)镴ava近來(lái)很成功而使用Java的公司都報(bào)告說(shuō)它們?cè)谏a(chǎn)效率上比C++獲得了提高.
Java所帶來(lái)的巨大影響和大家對(duì)它的廣泛接受已經(jīng)由工作于這種語(yǔ)言和平臺(tái)之上的程序員數(shù)量明顯的說(shuō)明了(估計(jì)世界范圍內(nèi)共有兩百五十萬(wàn)程序員使用Java).由這種語(yǔ)言寫(xiě)成的應(yīng)用程序的數(shù)量是令人驚訝的并已經(jīng)滲透了每一個(gè)級(jí)別的計(jì)算,包括無(wú)線計(jì)算和移動(dòng)電話(比如日本發(fā)明的Java電話).C#能夠在用戶領(lǐng)域獲得這樣的禮遇嗎?我們必須等待并觀望,就象已經(jīng)由SSI公司的CEO和主席Kalpathi S. Suresh指出來(lái)的那樣,"我發(fā)現(xiàn)所有這些都是漸進(jìn)的.如果C#不存在,我們總能回到Java或C和C++.這些都不完全是新技術(shù);它們?cè)诟蟮囊饬x上來(lái)說(shuō)只是大公司制造的市場(chǎng)噱頭.我們必須給他們時(shí)間安頓下來(lái)看看這些是不是真的對(duì)IT工業(yè)有什么影響."
C#向Java學(xué)習(xí)的特點(diǎn)展現(xiàn):
類:在C#中類的申明與Java很相似.這是合理的因?yàn)榻?jīng)驗(yàn)告訴我們Java模型工作得很好.Java的關(guān)鍵字import已經(jīng)被替換成using,它起到了同樣的作用.一個(gè)類開(kāi)始執(zhí)行的起點(diǎn)是靜態(tài)方法Main().下面的Hello World程序展示了基本的形式:
- using System;
- class Hello
- {
- static void Main()
- {
- Console.WriteLine("Hello, world");
- }
- }
在這個(gè)例子中,System這個(gè)名字指向一個(gè)包括了基本C#實(shí)用類集合的命名空間(namespace).這個(gè)命名空間包括了Console類,它在這個(gè)例子中被用來(lái)輸出一個(gè)字符串.類可以是抽象的和不可繼承的:一個(gè)被申明成abstract的類不能被實(shí)例化;它只能被用做一個(gè)基類.C#關(guān)鍵字sealed就象Java關(guān)鍵字final,它申明一個(gè)類不是抽象的,但是它也不能被用做另一個(gè)類的基類.界面:就象在Java中一樣,一個(gè)界面是一組方法集合的抽象定義.
當(dāng)一個(gè)類或結(jié)構(gòu)體實(shí)現(xiàn)一個(gè)界面的時(shí)候,它必須實(shí)現(xiàn)這個(gè)界面中定義的所有方法.一個(gè)單一的類可以實(shí)現(xiàn)幾個(gè)界面.也許以后會(huì)出現(xiàn)一些微妙的差別,但是這個(gè)特點(diǎn)看起來(lái)與Java相比沒(méi)有變化.布爾運(yùn)算:條件表達(dá)式的結(jié)果是布爾數(shù)據(jù)類型,布爾數(shù)據(jù)類型是這種語(yǔ)言中獨(dú)立的一種數(shù)據(jù)類型.從布爾類型到其他類型沒(méi)有直接的轉(zhuǎn)換過(guò)程.布爾常量true和false是C#中的關(guān)鍵字.錯(cuò)誤處理:如Java中那樣,通過(guò)拋出和捕捉異常對(duì)象來(lái)管理錯(cuò)誤處理過(guò)程.內(nèi)存管理:由底層.NET框架進(jìn)行自動(dòng)內(nèi)存垃圾回收.
C#向Java學(xué)習(xí)的體現(xiàn)的基本內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#向Java學(xué)習(xí)的體現(xiàn)有所幫助。
【編輯推薦】