Java关键字是保留字,共53个(JDK17),不可作标识符;涵盖访问控制(public/private/protected)、流程控制(if/for/try)、面向对象(class/interface/extends)、高级特性(record/sealed/var)等类别。

Java 关键字是语言中被保留、有特殊含义的单词,不能用作变量名、方法名、类名等标识符。Java 8 有 50 个关键字(其中 const 和 goto 是保留字但未使用),Java 17 新增了 sealed、non-sealed、permits 等,目前共 53 个(以 JDK 17 为准)。下面挑常用且易混淆的讲清楚怎么用。
基础定义与访问控制类关键字
这类关键字用于声明变量、方法、类的基本属性和可见性:
-
public:最宽访问权限,任何地方都能访问。比如public class Main、public static void main(String[] args)。 -
private:仅限本类内部访问。常用于封装字段,如private String name;,配合 getter/setter 使用。 -
protected:本类、同包类、子类可访问(即使子类在不同包)。比default(包级私有,不写修饰符)更开放一点。 -
static:属于类本身,不依赖对象实例。静态方法不能直接调用非静态成员;静态块static { ... }在类加载时执行一次。 -
final:表示“不可变”。修饰类→不能被继承;修饰方法→不能被重写;修饰变量→只能赋值一次(引用不变,但对象内容可变)。
流程控制与异常处理关键字
控制程序执行路径和错误响应逻辑:
-
if/else if/else、switch(支持 int、String、枚举、record、sealed 类型)用于条件分支。 -
for(含增强 for:for (String s : list))、while、do-while控制循环。 -
break跳出当前循环或 switch;continue跳过本次循环剩余部分,进入下一次。 -
try、catch、finally、throw、throws处理异常。注意try-with-resources(try (FileInputStream fis = new FileInputStream(...)))会自动关闭资源。
类与对象相关的关键字
围绕面向对象核心机制设计:
立即学习“Java免费学习笔记(深入)”;
-
class定义普通类;interface定义接口(Java 8+ 支持default和static方法);enum定义枚举类型。 -
extends表示类继承(单继承)或接口继承(多继承);implements表示类实现一个或多个接口。 -
new创建对象实例,如new ArrayList();this指向当前对象,常用于区分参数与字段(this.name = name)或调用本类其他构造器(this(...))。 -
super引用父类成员,如super.method()或super(...)调用父类构造器(必须是子类构造器第一行)。 -
instanceof判断对象是否为某类型实例,返回 boolean,如obj instanceof String。
高级特性与特殊用途关键字
随着 Java 版本演进新增,解决特定场景问题:
-
record(Java 14+):声明不可变数据载体类,自动生成构造器、getter、equals、hashCode、toString。例如record Person(String name, int age) {}。 -
sealed、non-sealed、permits(Java 17+):限制类的继承关系。如sealed class Shape permits Circle, Rect {},只有列出的类能继承它。 -
var(Java 10+):局部变量类型推断,仅用于方法内声明,如var list = new ArrayList,编译器自动推导为(); ArrayList。 -
assert:用于调试断言,如assert x > 0 : "x must be positive";,默认不启用,运行时加-ea参数开启。
基本上就这些。记住:关键字全小写,不能当标识符;IDE 一般会高亮显示;初学重点掌握 public、private、static、final、if、for、class、interface、new、return 这十几个,其余按需了解。用多了自然就熟了。











