文
章
目
录
章
目
录
Java 有51 个保留字,它们具有非常特定的含义,不能在应用程序代码中用作标识符。此外,在特定上下文中找到16 个上下文关键字时,也会将其视为关键字。程序员不应将这些关键字用于其用途之外的任何用途。
Java中的关键字是什么?
关键字是预定义的保留字,对编译器具有非常特定的含义。这些关键字不能用作变量、方法、类或任何其他标识符。
下面的语句中, int 是关键字,表示变量 age 是整数类型(32 位有符号二进制补码整数)。我们不能使用int作为变量名等。使用关键字作为标识符会导致编译错误。
int age;
- 关键字
const
和goto
被保留,即使它们当前未被使用。 true
、false
、 和null
看起来像是关键字,但它们是字面意思;我们不能在我们的程序中使用它们作为标识符。strictfp
是在 JDK 1.2 中添加的。assert
是在 JDK 1.4 中添加的。enum
是在 JDK 1.5 中添加的。- 密封类、记录和 JPMS 等功能的更高版本添加了更多上下文关键字。
Java关键字
以下是51个关键字,这些保留字不能用于常量、变量、和任何标识符的名称。
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
default | 默认 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充、继承 | |
final | 最终值、不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地、原生方法(非 Java 实现) | |
new | 创建 | |
static | 静态 | |
strictfp | 严格浮点、精准浮点 | |
synchronized | 线程、同步 | |
transient | 短暂 | |
volatile | 易失 | |
enum | 枚举 | |
程序控制语句 | break | 跳出循环 |
case | 定义一个值以供 switch 选择 | |
continue | 继续 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理 | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关 | import | 引入 |
package | 包 | |
基本类型 | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用 | super | 父类、超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字 | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 | |
其他 | _(下划线) | 在 Java 9 中添加,以防止将下划线写入未使用的 lambda、方法或 catch 形式参数。 |
上下文关键词(了解)
以下 16 个单词可以解释为关键字或其他标记,具体取决于它们出现的上下文。
关键词 | 描述 |
---|---|
exports | 用于导入和导出模块。 |
module | 用于声明模块。 |
non-sealed | 用于定义密封类和接口。 |
open | 用于声明模块。 |
opens | 用于导入和导出模块。 |
permits | 用于定义密封类和接口。 |
provides | 用于导入和导出模块。 |
record | 用于定义记录类型 |
requires | 用于导入和导出模块。 |
sealed | 用于定义密封类和接口。 |
to | 用于导入和导出模块。 |
transitive | 被识别为RequiresModifier中的终端 。 |
uses | 用于导入和导出模块。 |
var | 用于推断局部变量类型。 |
with | 用于导入和导出模块。 |
yield | 用于在switch语句中产生一个值。 |
module
和open
用于声明模块。exports
、opens
、provides
、requires
、to
、uses
和with
用于导入和导出模块。- 被识别为RequiresModifier
transitive
中的终端 。 var
用于推断局部变量类型。yield
用于在switch语句中产生一个值。record
用于定义新的记录类型。non-sealed
、permits
、sealed
用于定义密封类和接口
了解上的所有关键字是不可能的。我们将在其专门教程中了解每个 Java 关键字。
教程 Java基础教程
文章目录前言 第1章 Java语言基础 第2章 流程控制语句 第3章 面向对象编程 第4章 Java 字符串 […]