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