java與c++有什麼異同?
阿新 • • 發佈:2018-12-31
二者都是面嚮物件語言,都是用了面向物件思想(封裝、繼承、多型等)
不同點如下:
- java為解釋型語言,C++為編譯型語言。java的執行過程:原始碼經過java編譯器編譯成位元組碼,然後由JVM解釋執行;C++執行過程:原始碼經過編譯和連結後生成可執行的二進位制程式碼。所以,java執行速度比C++慢。
- java可以跨平臺(對每種資料型別都分配固定的長度),C++不能(在不同的平臺上會分配不同的位元組數)。
- java為純面嚮物件語言,所有程式碼必須在類裡面實現,除了基本資料型別外別的型別都是類;C++兼具面向過程和麵向物件的特點,有全域性變數 和全域性函式(java沒有)。
- java中沒有指標的概念。
- java不支援多重繼承,但java引入了介面,可以同時實現多個介面。所以,可以通過實現多個介面來實現與C++多重繼承的類似目的。
- java有垃圾回收器,不需要關心物件所佔的記憶體什麼時候會被釋放;C++需要開發人員管理記憶體的分配。
- java不提供goto語句。
- java不支援自動強制型別轉換,需要開發人員進行顯示強制型別轉換。
Question:java語言中的方法屬於類中的成員(number)(X)
靜態方法屬於類中的成員,非靜態方法屬於物件的成員
Class text{ public static int a;//類的成員 public int b; //例項的成員 }