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中的繼承樹的根。