一、简介
在我们编写程序的时候,会需要大量地为程序中的代码取名字,例如,类、变量、方法等,这些名字就是我们所说的标识符,而在 Java 中,对于一些标识符,Java 语言已经赋予了其特殊的含义,只能用于特定的地方,这些特殊的标识符就是 Java 的关键字 。
二、标识符
Java 所有的组成部分都需要名字,包名、类名、变量名以及方法名都被称为标识符,关于 Java 标识符,有以下几点需要注意:
标识符的命名规则(硬性要求)
- 所有的标识符都以字母( A - Z 或 a - z )、数字( 0 - 9 )、美元符( $ )或者下划线( _ )组成;
- 标识符不能以数字开头,且不能含有空格;
- 标识符不能使用关键字或者保留字,但是可以包含关键字和保留字;
- 标识符是区分大小写的。
标识符的命名规范
- 包:全部小写,用点号( . )隔开,并且域名反写,如:com.hui.mapper(mapper 指的是包的功能);
- 类、接口:遵循大驼峰命名法,每个单词的首字母大写,如:UserMapper ;
- 变量、方法:遵循小驼峰命名法,第一个单词首字母小写,其后的单词首字母大写,如:getName() ;
- 常量:单词的所有字母都大写,单词与单词之间有下划线( _ )隔开,如:MAX_SPEED 。
Tips
:自己定义的标识符要使用有意义的名字,能够准确地反映变量的用途,避免使用单个字符或无意义的缩写。
三、关键字
关键字在 Java 语言中具有特定的用途和语法意义,你不能将它们用作变量名、方法名或类名等标识符。如果不小心使用了关键字作为标识符,编译器会报错,下表列出了 Java 的关键字:
类别 | 关键字 | 含义 |
---|---|---|
访问控制修饰符 | private | 私有的 |
protected | 受保护的 | |
public | 公有的 | |
类,方法和变量修饰符 | abstract | 抽象的 |
class | 定义类 | |
extends | 继承 | |
final | 最终的 | |
implements | 实现(接口) | |
interface | 定义接口 | |
native | 本地方法(这个方法的实现是其他语言的) | |
new | 创建对象 | |
static | 静态的 | |
strictfp | 用于确保浮点运算的精确性 | |
synchronized | 线程同步 | |
transient | 被标记的变量不会被序列化 | |
volatile | 保证变量的可见性和禁止指令重排序 | |
enum | 定义枚举类型 | |
程序控制语句 | break | 终止本层循环 |
case | 定义一个常量值匹配 switch 分支 | |
continue | 跳过本次循环,继续下一次循环 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 用于判断当前引用是哪个对象 | |
return | 返回 | |
switch | 根据常量值执行分支 | |
while | 循环 | |
default | 默认 | |
assert | 断言 | |
错误处理 | try | 捕获异常 |
catch | 捕捉异常 | |
throw | 抛出一个异常 | |
throws | 可能被抛出的异常 | |
finally | 有没有异常最后都会执行 | |
包相关 | import | 引入 |
package | 包 | |
基本数据类型 | boolean | 布尔型 |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整数 | |
long | 长整型 | |
byte | 字节型 | |
short | 短整型 | |
变量引用 | this | 当前对象 |
super | 父类对象 | |
void | 无返回值 | |
保留字 | goto | 在 Java 中还没被定义的关键字,不能使用 |
const | 在 Java 中还没被定义的关键字,不能使用 |
Tips
:在 Java 中,所有的关键字都是小写的,在 IDEA 中会以特殊颜色显示。
default 这个关键字比较特殊,既属于程序控制语句,也属于类,方法和变量修饰符,还属于访问控制修饰符。
- 在程序控制语句中,当在 switch 中匹配不到任何情况时,可以使用 default 来编写默认匹配的情况。
- 在类,方法和变量修饰符中,从 JDK8 开始引入了默认方法,可以使用 default 关键字来定义一个方法的默认实现。
- 在访问控制修饰符中,如果一个方法前没有任何修饰符,则默认会有一个修饰符 default,但是如果加上了这个修饰符就会报错。
⚠️ 注意:虽然 true,false 和 null 看起来像关键字但实际上他们是字面量,所以不可以将其作为标识符来使用。