Java和C#到底有什麼不同,傻傻分不清。C#當初就是作為Java的替代語言設計出來了,而現今,他們各有各的領地,鮮有拔火的機會。
先來說一說Java程序的苦腦。
項目完成後,C/C++/C#程序員開開心心地發布了,享受著程序流通的喜悅
而Java程序員在幹什麼呢:他在網路上搜索:
1 如何把JAR打包成EXE
2 如何說服玩家/用戶安裝JRE
3 項目在最新JRE下異常怎麼辦
4 如何把JRE精簡后打包入EXE
5 如何讓殺毒軟體不要誤報我的JAVA程序
6如何教用戶設置本地的JRE路徑
我們再來對比下Java和C#的區別,吊打C#
泛型不一樣,Java泛型只是編譯時的,但C#的泛型在運行時也被維持,而且適用於value types 和 reference types
C# 沒有 checked exceptions
Java 不允許建立user-defined 的value types
Java 不允許運算符重載
C#沒有像Java 那樣的內部類,所有的nested classes 其實都像Java 的靜態nested classses
Java 沒有靜態類
Java 沒有 擴展方法(extension methods)
兩者的訪問修飾符有一定區別
兩者初始化(initialization)的順序有一定不同。C#初始化變數后才調用父類的構造方法
Java 沒有類似「properties」的東西,而是約定俗成為getter 和setter
兩者的枚舉(enums)有一定的不同,Java的更加面向對象
Java的參數只能傳值,沒有類似於C#的ref 和out 傳遞引用。(註:Java 傳遞對象只是傳遞對象引用的copy)
Java 沒有partial types
C# 的interface 不能定義欄位
Java 沒有unsigned 的整形
Java 沒有類型與nullable 的value types
最後總結下,做Java的己經飛向宇宙了,搞C#的還被困在.net平台上。
想要知道更多相關內容敬請關注「中軟卓越」官網,現在報名學Java,可免、費參加中軟卓越Java培訓的Java零基礎免、費試學班級,親自考察教學質量,針對不方便前來的同學,可以在線觀看中軟卓越Java全套免、費視頻,趕快學起來吧。
中軟卓越官網:www.whzrgj.com
劉老師:400-680-9778/15071539909
聯繫QQ:2041794770
微信公眾號:chinasoft-wh/中軟卓越中西區
地址:
武漢市洪山區關山大道光谷軟體園F3棟4樓
鄭州市金水區花園路與農業路交叉口蘭德中心8樓
西安市高新區科技二路西安軟體園零壹廣場六樓