功能 |
C++ |
Java |
C# |
跨平臺 |
源代碼(部分) |
字節碼 |
CLI(不流行) |
執行方式 |
編譯 |
編譯+解釋 |
編譯+JIT轉換 |
中間代碼 |
無 |
字節碼Bytecode |
中間語言MSIL |
運行環境 |
操作系統 |
JRE/JVM |
CLR/VES |
內存管理 |
直接分配和刪除 |
垃圾內存自動回收 |
垃圾內存自動回收 |
多重類繼承 |
支持 |
不支持 |
不支持 |
操作符重載 |
支持 |
不支持 |
部分支持 |
對象訪問 |
地址/指針 |
引用 |
引用 |
接口類型 |
無 |
有 |
有 |
屬性成員 |
無 |
無 |
有 |
成員可用性 |
不支持 |
使用反射 |
使用反射 |
命名空間 |
支持 |
包機制 |
支持 |
指針 |
支持 |
不支持 |
部分支持(非安全代碼) |
函數指針 |
支持 |
適配器+監聽程序 |
委托 |
全局函數與變量 |
有 |
無 |
無 |
無符號整數類型 |
有 |
無 |
有 |
大十進制數類型 |
無 |
有(庫) |
有(語言) |
強制類型轉換 |
支持 |
不支持 |
支持 |
越界自動檢查 |
無 |
有 |
有 |
多維數組 |
數組的數組 |
數組的數組 |
真正多維數組 |
索引 |
支持 |
不支持 |
支持 |
泛型 |
編譯時模板 |
運行時泛型(有限制) |
編譯時模板 |
泛型類型編譯 |
具體化 |
類型擦除 |
具體化 |
線程同步 |
調用函數 |
語言內部 |
語言內部 |
異常處理 |
可選 |
支持檢查異常 |
只支持非檢查異常 |
標準類庫 |
貧乏 |
豐富 |
龐大 |
適用領域 |
面向對象的
系統和界面編程 |
跨平臺(服務器端)
網絡編程 |
Windows平臺的
.NET和組件編程 |
|
新聞熱點
疑難解答