Java基礎——java的優點以及與C++的不同

1. Java的優點

Sun Microsystems公司對Java語言的描述:"Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral,  portable, high-performance, multithreaded, and dynamic language"。

具體來說,java具有以下幾個優點:

(1)Java爲純面嚮對象語言。

所有代碼(包括函數、變量等)必須在類中實現,除基本數據類型以外,所有類型都是類。而C++兼具面向過程和麪向對象編程的特點。

(2)平臺無關性。“一次編譯,到處運行”

Java爲解釋型語言,編譯器把Java代碼編譯成字節碼,然後在Java虛擬機上解釋執行,具有很好的可移植性。

(3)Java提供了很多內置的類庫,簡化開發。

(4)Java提供了對Web應用程序的開發。

(5)具有較好的安全性和健壯性

Java語言提供了一個防止惡意代碼攻擊的安全機制(數組邊界檢測和Bytecode校驗等),增強了程序的安全性。

Java的強類型機制、垃圾回收器、異常處理和安全檢查機制保證了健壯性。

(6)去除了C++語言中難以理解、容易混淆的特性,如指針。

2. Java與C++的異同

同:Java和C++都是面嚮對象語言,都使用了面向對象思想(例如封裝、繼承、多態等)

異:(1)Java是解釋型語言,由編譯器編譯成字節碼文件,再由虛擬機解釋執行。

               C++是編譯型語言,源代碼經編譯和鏈接生成可執行的二進制代碼。               

(2)Java爲純面嚮對象語言,所有代碼(包括函數、變量等)必須在類中實現,除基本數據類型以外,所有類型都是類。Java語言中不存在全局變量或全局函數,即不能在所有類之外定義全局變量,只能通過在一個類中定義public static 的變量來實現一個全局變量。

C++兼具面向過程和麪向對象編程的特點。可以定義全局變量和全局函數。

(3)Java語言不支持多重繼承,但Java引入了接口,可以同時實現多個接口,來實現與C++多重繼承類似的目的。Java中的接口是支持多繼承的。

(4)Java提供了垃圾回收器來實現垃圾的自動回收。C++語言中需要開發人員去管理對內存的分配。

(5)Java語言沒有指針的概念

(6)Java不支持運算符重載,而C++支持。

(7)Java不支持自動強制類型轉換,必須顯示地強制類型轉換。而C++支持自動強制類型轉換,這會導致程序的不安全。

(8)Java不提供goto語句,但保留了goto關鍵字。而C++支持goto語句。

(9)Java沒有預處理器。不支持預處理功能(包括頭文件、宏定義等),但它提供的import機制與C++中的預處理功能類似。

(10)Java具有平臺無關性,即對每種數據類型都分配固定長度,而C++同種數據類型在不同的平臺上會分配不同的字節數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章