原文地址:Java之關鍵字和保留字
1 名字不能用保留字和關鍵字,但如果保留字或關鍵字中有字母大寫就不算保留字或關鍵字了。
2 開頭字元能用字母,$或者_
3 名字中不能用+ ,- 空格等字元
4 部分易混的保留字關鍵字和非保留字關鍵字
null, native, goto,const,instanceof,default是關鍵字保留字
then,sizeof,main,Boolean,unsigned,java, Integer不是關鍵字保留字
注意:由於unsigned不是java中的關鍵字。所以java中沒有這種寫法:unsigned int a=1; 會顯示編譯出錯。
java中所有的關鍵字和保留字如下:
abstract | continue | for | new | switch
assert*** | default | goto* | package | synchronized
boolean | do | if | private | this
break | double | implements | protected | throw
byte | else | import | public throws
case | enum**** | instanceof | return | transient
catch | extends | int | short | try
char | final | interface | static | void
class | finally | long | strictfp** | volatile
const* | float | native | super | while
* not used
** added in 1.2
*** added in 1.4
**** added in 5.0
ture和false是保留字麼。好像不是,但應該也不能用。
native:只能用於方法,包括靜態方法。java的類通過使用聲明為native的方法來完成某些功能和訪問某些硬體。例如在多線程編程時Thread的start()就調用private native void start0()方法。Java的缺點一是速度比不上C++,二是不能直接作業系統底層。native方法相當於Java程式與C程式的借口,擴充了Java的功能。具體參見:
Java入門--認識理解Java中native方法:http://www.enet.com.cn/article/2007/1029/A20071029886398.shtml。
拓展閱讀JNI:http://baike.baidu.com/view/1272329.htm
transient:只能應用於類的成員變數,不能應用於函數的局部變數。聲明為transient的變數將不被對象序列化,可用於保護安全資訊。
synchronized:在多線程中使用。
volatile: 能用於變數,也能用於常量。一個聲明為volatile的變數可以被線程修改,正在啟動並執行多個線程都可以訪問該變數。 final: 對基本類型變數用final修飾表示該變數只能被初始化一次,之後不能再修改值。 對一個物件變數用final修飾的意義,不是不能修改這個對象內容了,而是這個對象的引用只能指向這個對象在堆中的地址。 final Person p1 = new Person();不是不能修改p1這個對象了,而是p1不能指向其它對象了(p1 = p2錯誤)。 對一個方法用final修飾表示該方法不能被覆蓋(即不能被子類方法覆蓋,子類天性繼承父類非private方法)。 final修飾一個類表示該類不能被繼承。 final、finally、finalize的簡單區別:http://wenku.baidu.com/view/2d4593d0ce2f0066f533224a.html
Java關鍵字final、static使用總結:http://java.chinaitlab.com/base/724785.html