Java和C++同屬面向對象,你會選擇誰?這八個理由會讓你選擇Java

編程語言 Java C語言 程序員 程序媛的小日常 程序媛的小日常 2017-09-27

Java和C++都是面向對象的語言,但是Java並不是C++語言的一個變種。在某些本質問題上,還是有很多區別的。Java和C++同屬面向對象,你會選擇誰?這八個理由會讓你選擇Java

1.Java程序的可靠性比C++更高。

有人曾估計妹50行C++程序中至少有一個bug。先不去討論這個數字是否誇張,但是任何一個C++程序員都不敢保證C++在提供了強大的功能特性上也提高了程序出Bug的可能性。野指針問題是永遠的痛。不是一個判斷是否為NULL或Assert就可以解決的。Java語言通過改變語言的特性,大大的提高了程序的可靠性。

2.Java語言不需要程序對內存進行分配和回收。

Java丟棄了C++很少使用的、很難理解的,具有迷惑性的特性。比如:操作符重載、多繼承等等。另外,Java拋棄了指針,並提供了自動的廢料收集。在Java中,內存的分配和回收都是自動進行的。程序員無需考慮內存碎皮問題。

Java和C++同屬面向對象,你會選擇誰?這八個理由會讓你選擇Java

3.Java提供了API的方式,取代了C++的多繼承

API俗稱接口,接口和多繼承具備同樣的功能。但是在代碼程度上,Java寫起來更為簡單,也省去了多繼承在實現和維護上的複雜性。

4.數據類型以及類

Java是完全面向對象的語言,所有函數和變量都必須是類的一部分。而在C++中,允許將函數和變量定義為全局的。此外,Java取消了C/C++中的結構和聯合,省去了很多不必要的麻煩。

5.預處理功能

Java不支持預處理功能,但是提供了Import,功能類似於預處理。c/c++的預處理功能,雖然提供了很多方便,但是也增加了編譯的複雜性。

6.字符串相關功能

Java和C++同屬面向對象,你會選擇誰?這八個理由會讓你選擇Java

c和c++不支持字符串變量,在c和c++程序中使用Null終止符代表字符串的結束,在Java中字符串是用類對象(strinR和stringBuffer)來實現的,這些類對象是Java語言的核心,用類對象實現字符串有以下幾個優點:

  • 在整個系統內,建立字符串和訪問的方式都是一樣的。無需考慮類型

  • Java字符串執行運行時檢空,可幫助排除一些運行時發生的錯誤。C/C++的字符串則不能

  • 可對字符串直接用“+”進行拼接,很方便。

7.類型轉換

c/c++中不免會出現很多數據類型的隱含轉換。很多時候都是編譯器自己進行強制轉換。編譯不報錯,就會隱藏很多未知問題,這樣很不安全。對數據的處理,很容易讓數據失真。Java中不支持C++中的自動強制類型轉換。如果需要,必須有程序員顯示指定,否則一定會出錯。顯得更安全。

8.異常捕捉

Java中的異常機制用於捕獲例外事件,在有可能出錯的地方,我們都可以加上Try...Catch語句塊,增強系統的容錯能力。

Java和C++同屬面向對象,你會選擇誰?這八個理由會讓你選擇Java

而在C++中,沒有如此方便的機制。

當然了,我並不是說Java比C++有多好。只是說,如果你開始學習編程,不知道該學習什麼語言的時候,我建議你學習Java,畢竟,Java入門比C++更快。C++的應用很難不牽扯到底層,內存的分配和釋放對於C++來說,是必須要掌握的。

如果文章對你有幫助,點個讚唄。你有更好的想法,也歡迎一起交流。

相關推薦

推薦中...