Java有53个关键字(JDK 17),含访问控制(public/private/protected)、静态(static)、不可变(final)、抽象(abstract)、本地(native)等,用于定义结构、控制流程、异常处理、多线程及新特性(如sealed、record),true/false/null为字面量非关键字。

Java关键字是语言中具有特殊含义的保留字,不能用作标识符(如变量名、类名等)。Java目前共有53个关键字(JDK 17),其中50个被实际使用,3个保留但未启用(goto、const、sealed在JDK 17+已转为正式关键字,需注意版本差异)。
基础控制与访问修饰关键字
这类关键字用于定义程序结构和访问权限:
-
public、protected、private:控制类、方法、字段的可见范围;public最开放,private仅限本类内访问 -
static:表示属于类而非实例,可修饰字段、方法、代码块、内部类;静态成员随类加载而存在 -
final:修饰类(不可继承)、方法(不可重写)、变量(初始化后不可再赋值) -
abstract:修饰类(不可实例化,需子类继承)或方法(无方法体,子类必须实现) -
native:标记方法由非Java语言(如C/C++)实现,通常配合JNI使用
类、对象与包相关关键字
用于定义类型、创建实例及组织代码结构:
-
class、interface、enum、record(JDK 14+):分别定义普通类、接口、枚举、不可变数据载体类 -
extends:表示类继承父类,或接口继承其他接口 -
implements:表示类实现一个或多个接口 -
new:创建对象实例,触发构造方法执行 -
package、import:分别声明包路径和导入其他包中的类或静态成员
流程控制与异常处理关键字
控制程序执行逻辑和错误响应机制:
立即学习“Java免费学习笔记(深入)”;
-
if、else、switch、case、default、for、while、do、break、continue:构成条件判断与循环结构 -
return:结束方法执行并返回值(或仅退出void方法) -
try、catch、finally、throw、throws:处理异常;try包裹可能出错代码,catch捕获指定异常,finally总会执行,throw主动抛异常,throws声明方法可能抛出的异常类型
多线程与高级特性关键字
支持并发编程和现代语言特性:
-
thread不是关键字,但synchronized是——用于方法或代码块加锁,保证同一时刻只有一个线程执行 -
volatile:修饰变量,确保多线程间可见性(禁止指令重排序,不保证原子性) -
transient:修饰字段,表示序列化时忽略该字段 -
assert:启用断言检查(需运行时加-ea参数),用于开发调试 - JDK 14+新增
sealed(配合permits)限制类的继承关系;JDK 21+正式支持record作为不可变数据类
注意:true、false、null不是关键字,而是字面量(literals),但同样不能用作标识符。所有关键字均为小写,Java严格区分大小写。










