1名字不能用保留字和關鍵字,但若是保留字或關鍵字中有字母大寫就不算保留字或關鍵字了。html
2 開頭字符能用字母,$或者_java
3 名字中不能用+ ,- 空格等字符編程
4 部分易混的保留字關鍵字和非保留字關鍵字安全
null, native, goto,const,instanceof,default是關鍵字保留字
then,sizeof,main,Boolean,unsigned,java, Integer不是關鍵字保留字 多線程
注意:因爲unsigned不是java中的關鍵字。因此java中沒有這種寫法:unsigned int a=1; 會顯示編譯出錯。函數
java中全部的關鍵字和保留字以下:this
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是保留字麼?好像不是,但應該也不能用。3d
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