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的变量可以被线程修改,正在运行的多个线程都可以访问该变量。