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