java與C++語法上的差別


本人現在是一名C++開發人員,在業余的時間學習了java。在此簡單的總結了一些C++與java一些基本語法的區別。希望能夠給大家一些參考,也方便自己日后復習。

1.C++中成員變量和成員函數有3種訪問權限,分別是private,public,protected。而java中有4中訪問權限,分別是private,public,protected,還有default(也叫friendly或者package)。
如果一個成員方法或者成員變量名前面使用了private訪問控制符,那么這個成員只能在這個類的內部使用。
如果一個成員方法或者成員變量名前沒有使用任何訪問控制符,我們就稱這個成員是默認的(default),或是友元的(friendly),或者是包類型的(package)。對於默認訪問控制
成員,可以被這個包中的其他類訪問,如果一個子類和父類位於不同的包中,子類也不能訪問父類中的默認訪問控制成員。
如果一個成員方法或者成員變量名錢使用了protected訪問控制符,那么這個成員即可以被同一個包中的其他類訪問,也可以被不同包中的子類訪問。
如果一個成員方法或者成員變量名前使用了public訪問控制符,那么這個成員即可以被所有的類訪問,不管訪問類與被訪問類是否在同一個包中。

2.java取消了指針。

3.java有自動的垃圾回收機制(當一個對象、變量等不再被使用后,會在一個不確定的時間被垃圾回收器收走(釋放掉))。

4.java增加了這種注釋程序的方法。這種方法注釋的內容會被解釋成程序的正式文檔(doc文檔),這種文檔可用來查看類和函數的介紹及使用方法。

5.java的字符占兩個字節,C,C++的字符占一個字節。

6.java的所有代碼必須寫在類中。

7.java中沒有無符號的數據類型。

8.在java中,if()和else if()括號中表達式的結果必須是布爾型的(即true或者false)。而C、C++不一樣。

9.在java語言中聲明數組時,無論用何種方式定義數組,都不能指定其長度,例如下面的定義將是非法的。  int a[5];//編譯時將出錯。

10.java中增加了final關鍵字,如final int a=1;這樣a就相當於變成了常量。如果在一個類的聲明前面加上關鍵字final,則這個類不能再被繼承;如果在一個方法(函數)聲明前面加上關鍵字final,則這個方法(函數)不能被子類重寫。

11.java只支持單繼承,不支持多重繼承(即繼承多個基類)。

12.java中增加了接口(interface)的概念。即里面的方法(函數)內容均為空,等待子類重寫。

13.java增加了package。即是一些類屬於package,這樣改變了對類的訪問。這樣引申出import的用法(用來導入類)。

14.java對類增加了訪問權限,即在類的聲明前,可以是public或者default兩種。其中類被聲明為default類型,則只能被同一個包內的類訪問;如果類被聲明為public類型,則可以被所有類訪問。帶有public修飾符的類必須與源文件名相同,因此在一個.java源文件中只能有一個public類。

15.java的命名習慣:
假設xxx,yyy,zzz,分別是一個英文單詞的拼寫。
包名中的字母一律小寫,如xxxyyyzzz;
類名、接口名應當使用名詞,每個單詞的首字母大寫,如XxxYyyZzz;
方法名和變量名,第一個單詞小寫,后面每個單詞的首字母大寫。如xxxYyyZzz;
常量名中的每個字母一律大寫,如:XXXYYYZZZ。


如需轉載,請注明出處。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com