C++ VS Java比較
C++編程語言和Java之間有許多區別和相似之處。 C++和Java之間的最大差異如下列表所示:
對比項
C++
Java
平臺無關
C++是平臺相關的
Java是平臺無關的
主要用於
C++主要用於系統編程
Java主要用於應用程序編程。它廣泛應用於窗口,基於Web,企業和移動應用
Goto
C++支持goto語句
Java不支持goto語句
多繼承
C++支持多重繼承
Java不支持通過類的多繼承,它可以通過java中的接口實現
操作符重載
C++支持操作符重載
Java不支持運算符重載
指針
C++支持指針,可以在C++中編寫指針的程序
Java在內部支持指針。但是不能在java中編寫指針程序。這意味着在Java中限制了指針支持
編譯器和解釋器
C++僅使用編譯器
Java使用編譯器和解釋器
按值調用和通過引用調用
C++支持按值調用和按引用調用
Java僅支持按值調用,在java中沒有通過引用調用。
結構體和聯合體
C++支持結構體和聯合體
Java不支持結構體和聯合體
線程支持
C++沒有內置的線程支持。它依賴於第三方庫來支持線程。
Java有內置線程支持。
文檔註釋
C++不支持文檔註釋
Java支持文檔註釋,可使用(/** ... */
)來創建Java源代碼的文檔。
virtual
關鍵字
C++支持virtual
關鍵字,這樣可以用於決定是否覆蓋一個函數。
Java沒有virtual
關鍵字。默認情況下,可以覆蓋所有非靜態方法。換句話說,非靜態方法默認是虛擬的。
無符號右移>>>
C++不支持>>>
運算符
Java支持無符號右移>>>
運算符,在頂部爲負數填充零。對於正數,它的工作原理與>>
運算符相同。
繼承樹
C++總是創建一個新的繼承樹
Java總是使用單繼承樹,因爲所有類都是Java類中的Object類的子類。Object類是java中的繼承樹的根。