302班

          java突擊隊
          posts - 151, comments - 74, trackbacks - 0, articles - 14
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          日歷

          <2007年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          搜索

          •  

          積分與排名

          • 積分 - 154331
          • 排名 - 394

          最新評論

          C與C#,java比較

          Posted on 2007-06-08 19:50 停留的風 閱讀(712) 評論(1)  編輯  收藏 所屬分類: 快速前進的Java
          染色體 1:純對象導向語言
          C# 和 Java 都是純對象導向語言,C++ 非純對象導向語言。

          染色體 2:強制型態檢查
          C# 和 Java 都強制進行型態檢查,C++ 則較寬松。

          染色體 3:宏
          C# 和 Java 都不支持宏,C++ 支持宏。

          染色體 4:Template
          C# 和 Java 都不支持 template,C++ 支持 template。

          染色體 5:多重繼承
          C# 和 Java 都不支持多重繼承,且都支持 interface,C++ 支持多重繼承。

          染色體 6:指針
          C# 和 Java 都不支持指針,C++ 支持指針。(不過,C# 允許在 unsafe code 內使用指針)

          染色體 7:內存管理
          C# 和 Java 都支持垃圾收集。C++ 不支持垃圾收集。

          染色體 8:虛擬機器
          C# 和 Java 都需要虛擬機器,C++ 不需要虛擬機器。Java 的執行檔是中間碼,叫做 bytecode,透過 Java Runtime Environment(即 JRE)來執行;C# 的執行檔也是中間碼,叫做 managed code,透過 NGWS Runtime 來執行。除了 Java,你也可以用其它程序語言(例如 Ada、Python)來作出 bytecode。除了 C#,你也可以用其它程序語言(例如 Visual Basic、C++)來作出 managed code。

          染色體 9:Namespace
          C# 和 Java 都支持階層式的 namespace,但 C++ 只支持單層的 namespace。Java 的 namespace 稱為 package,C# 的 namespace 就稱為 namespace。Java 和 C# 都使用「.」當作 namespace 的符號,而 C++ 使用「::」。

          染色體 10:Platform-Independent Type
          C# 和 Java 都使用 Platform-Independent Type,C++ 的 type 會受到平臺的影響。

          染色體 11:使用 Wrapper 包裝基本型態
          C# 和 Java 都支持將基本型態包裝成對象,在 Java 叫做 wrapper,在 C# 則是叫做 box。

          染色體 12:boolean != integer
          C# 和 Java 都不允許把整數當布爾值用,C++ 則允許。

          染色體 13:access modifier
          C# 和 Java 都支持四種等級的 access modifier,包括 public、protected、private、default/internal;C++ 只支持 public、protected、private。Java 的 default(不寫)指的就是只針對同一個 package 開放,正好就是 C# 的 internal。

          染色體 14:變量初始化
          C# 和 Java 都規定不可使用未初始化的變量,C++ 則完全沒有這方面的限制。Java 和 C# 的編譯器都會主動幫未初始化的 field/data member 設定初始值,C++ 則不然。

          染色體 15:轉型
          C# 和 Java 都規定基本型態和 reference 型態不能互轉。

          染色體 16:數組邊界檢查
          C# 和 Java 都會主動進行數組邊界檢查,C++ 則不然

          染色體 17:呼叫 Native Code
          C# 和 Java 都支持呼叫 native code。Java 透過 JNI(Java Native Interface);C# 透過 PInvoke(Platform Invocation Service)

          染色體 18:Metadata
          C# 和 Java 的中間碼都包含有類別的 metadata,而 C 語言則是獨立在 header file。

          染色體 19:中間碼指令
          C# 的 IL 中間碼指令和 Java 的 bytecode 指令非常類似,有的甚至一樣。

          染色體 20:例外處理
          C# 和 Java 都支持 try/catch/finally,但 C++ 只支持 try/catch。

          評論

          # re: C與C#,java比較  回復  更多評論   

          2007-06-09 20:08 by itkui
          很好,收藏了!
          主站蜘蛛池模板: 双鸭山市| 阿图什市| 东丽区| 县级市| 南川市| 庆元县| 江孜县| 体育| 哈尔滨市| 涪陵区| 乌鲁木齐县| 兴业县| 全州县| 华蓥市| 璧山县| 保康县| 江西省| 武隆县| 周口市| 许昌县| 金华市| 洪洞县| 卓尼县| 那曲县| 会宁县| 新乡市| 汾西县| 壤塘县| 象山县| 河源市| 绥化市| 岚皋县| 枣庄市| 彭水| 武川县| 马鞍山市| 丹江口市| 剑川县| 阿拉尔市| 洛宁县| 新野县|