在程序设计语言中,标识符是用作程序的某一元素的名字的字符串或用来标识源程序中某个对象的名字的。这个元素可以是一个语句标号,一个过程或函数、一个数据元素(例如一个标量变量或一个数组)或程序本身。最通常是,标识符这个字几乎与变量名同义地使用。在程序数据的位置在整个程序执行期间保持不变的系统中,用于标量变量的标识符联系到存储器地址,而存储器地址又指向机器的存储器内的物理单元,该单元又含有一个值的表示。标识符与一个值之间的中间关系通常对程序员是透明的,因此在实际中在一个变量的名字(即其标识符)与其值(它是分配给该标识符的存储单元的当前内容)之间出现混淆。在大多数程序设计语言中,标识符可由任何字母数字字符串形成,长度往往有限制(通常为6到8个字符),只要最左边字符是字母。有些语言还容许采用专用字符。因此任何一种计算机语言都离不开标识符和关键字,下面将介绍一下 Java 的标识符、关键字和保留字。
Java 中标识符是为方法、变量或其他用户定义项所定义的名称。例如,对于常量、变量、函数、语句块、类、项目等都需要一个名字,这些我们都统统称为标识符。标识符可以有一个或多个字符,在 Java 语言中,标识符的构成规则如下。
另外,Java 区分大小写,因此 myvar 和 MyVar 是两个不同的标识符。
提示:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名。
标识符分为两类,分别为关键字和用户自定义标识符。
提示:使用标识符时一定要注意,或者使用关键字,或者使用自定义的非关键字标识符。此外,标识符可以包含关键字,但不能与关键字重名。
例如以下合法与不合法标识符。
标识符用来命名常量、变量、类和类的对象等。因此,一个良好的编程习惯要求命名标识符时,应赋予它一个有意义或有用途的名字。总的来说,就是见名知义。
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | supper |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。
Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。保留字是为 Java 预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。
Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。
(1)用于数据类型。
用于数据类型的关键字有 boolean、byte、char、 double、 float、int、long、new、short、void、instanceof。
(2)用于语句。
用于语句的关键字有break、case、 catch、 continue、 default 、do、 else、 for、 if、return、switch、try、 while、 finally、 throw、this、 super。
(3)用于修饰
用于修饰的关键字有 abstract、final、native、private、 protected、public、static、synchronized、transient、 volatile。
(4)用于方法、类、接口、包和异常。
用于方法、类、接口、包和异常的关键字有 class、 extends、 implements、interface、 package、import、throws。
还有些关键字,如 future、 generic、 operator、 outer、rest、var等都是Java保留的没有意义的关键字。
另外,Java还有3个保留字:goto、const、null。它们不是关键字,而是文字。包含Java定义的值。和关键字一样,它们也不可以作为标识符使用。
注意:Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。由于 Java 区分大小写,因此 public 是关键字,而 Public 则不是关键字。但是为了程序的清晰及可读性,要尽量避免使用关键字的其他形式来命名。
参考:Java标识符和关键字详解