关键字 & 保留字
关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。
关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。例如, class 就是一个关键字,它用来声明一个类。public 也是关键字,它用来表示公共类。另外,static 和 void 也是关键字。
关键字(keyword)
Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。
关键字 | 描述 |
---|---|
import | 表明引入的指定类或包 |
package | 声明包 |
class | 声明类 |
extends | 声明一个类型是另一个类型的子类型,这里常见的类型有类和接口,继承用 |
implements | 表明一个类实现了给定的接口 |
interface | 接口 |
abstract | 表明类或者成员方法具有抽象属性 |
final | 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变 |
native | 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 |
private | 一种访问控制方式:私用模式 |
protected | 一种访问控制方式:保护模式 |
public | 一种访问控制方式:共用模式 |
static | 表明具有静态属性 |
synchronized | 表明一段代码需要同步执行 |
transient | 声明不用序列化的成员域 |
volatile | 表明两个或者多个变量必须同步地发生变化 |
new | 用来创建新实例对象 |
instanceof | 用来测试一个对象是否是指定类型的实例对象 |
do | 用在do-while循环结构中 |
while | 用在循环结构中 |
for | 一种循环结构的引导词 |
continue | 回到一个块的开始处 |
break | 提前跳出一个块 |
return | 从成员方法中返回数据 |
if | 条件语句的引导词 |
else | 用在条件语句中,表明当条件不成立时的分支 |
switch | 分支语句结构的引导词 |
case | 用在switch语句之中,表示其中的一个分支 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
try | 尝试一个可能抛出异常的程序块 |
catch | 用在异常处理中,用来捕捉异常 |
finally | 表示最终执行块 |
throw | 抛出一个异常 |
throws | 声明在当前定义的成员方法中所有需要抛出的异常 |
boolean | 基本数据类型之一,布尔类型 |
byte | 基本数据类型之一,字节类型 |
char | 基本数据类型之一,字符类型 |
double | 基本数据类型之一,双精度浮点数类型 |
float | 基本数据类型之一,单精度浮点数类型 |
int | 基本数据类型之一,整数类型 |
long | 基本数据类型之一,长整数类型 |
short | 基本数据类型之一,短整数类型 |
null | 空 |
true | 正确 |
false | 错误 |
super | 表明当前对象的父类型的引用或者父类型的构造方法 |
this | 指向当前实例对象的引用 |
void | 声明当前成员方法没有返回值 |
strictfp | 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 |
assert | 断言 |
保留字(reserved word)
保留字是为 Java 预留的关键字,在Java现有版本中没有特殊含义,以后版本可能会作为有特殊含义的词,或者该词虽然在Java中没有特殊含义,以后版本也不打算使用,但在其它语言中有特殊含义,不宜在Java中定义为变量名称等,因为容易混淆。
保留字 | 描述 |
---|---|
goto | 保留关键字,没有具体含义 |
const | 保留关键字,没有具体含义 |
byValue | 保留关键字,没有具体含义 |
cast | 保留关键字,没有具体含义 |
future | 保留关键字,没有具体含义 |
generic | 保留关键字,没有具体含义 |
inner | 保留关键字,没有具体含义 |
operator | 保留关键字,没有具体含义 |
outer | 可做标签 |
rest | 保留关键字,没有具体含义 |
var | 保留关键字,没有具体含义 |
false | 错误 |
true | 正确 |
null | 空 |
关键字分组
关键字一律用小写字母标识,按其用途划分为如下几组。
- 用于数据类型:关键字有 boolean、byte、char、 double、 short、float、int、long、new、void、instanceof。
- 用于语句:关键字有switch、case、break、 default 、try、 catch、 finally、throw、do、 while、 for、continue、return、 if、else、 this、 super。
- 用于修饰:关键字有 abstract、final、native、private、 protected、public、static、synchronized、transient、 volatile。
- 用于方法、类、接口、包和异常:关键字有 class、 extends、 implements、interface、 package、import、throws。
- 还有cast、 future、 generic、innerr、 operator、 outer、rest、var、goto、const等都是 Java 保留的关键字,也叫保留字。
- 另外,Java还有3个特殊的关键字:true、false、null。严格意义上说它们不是关键字,而是用于定义数据类型值的字面值。