1.单词表

与任何编程语言一样,Java 具有具有特殊含义的词。例如,returnifwhile。这些词称为关键字(keywords),被Java语言认为是保留的。

您不能将这些词用作变量名、方法名或类名。编译器将始终以严格定义的方式解释它们。54Java中有这样的词。

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
var
true
null
false

您已经知道其中一些,我们现在将讨论其余部分。


2. 原始类型

你可能还记得,Java 有 8 种基本类型,每一种都有自己的关键字:

  • byte
  • short
  • int
  • long
  • char
  • float
  • double
  • boolean
  • void

如果您有足够的好奇心,您很可能已经尝试将变量命名为 int。当然你没有成功。这正是因为所有原始类型的名称都是保留字。

void类型也属于此类。


3.循环和分支

循环和分支也给了我们一个相当长的关键字列表:

  • if
  • else
  • switch
  • case
  • default
  • while
  • do
  • for
  • break
  • continue

仅 10 个单词就足以让该语言提供多种循环、分支和用于中断循环 ( breakand continue) 和多个分支 ( switch) 的控制语句。您已经熟悉所有这些关键字。


4. 例外情况

异常给了我们 5 个关键字:

  • try
  • catch
  • finally
  • throw
  • throws

这些都是try-catch-finally块的一部分。抛出异常的操作符是throwthrows关键字支持checked异常机制。

好消息是您已经熟悉与异常相关的所有关键字,因此您也已经基本熟悉异常的使用。


5.可见性

这里只有三个关键字,你已经很熟悉了。

  • private
  • protected
  • public

public允许从程序中的任何地方访问方法/变量/类。

private禁止从程序中的任何地方访问方法/变量/类。只允许在与用修饰符标记的方法相同的类中访问private

protected工作方式与 相同private,但还允许从继承的类访问方法/变量/类。当您熟悉 OOP 和继承时,您会更清楚这个修饰符的好处。


6. 使用类

此类别中有 11 个关键字:

  • class
  • interface
  • enum
  • import
  • package
  • extends
  • implements
  • static
  • final
  • abstract
  • default

他们可以分为4组。

第一组与类的创建有关:class,interfaceenum您已经学习了如何声明类和枚举。该interface关键字用于声明另一种类似类的类型:接口。

第二组由您已经熟悉的package 和 import关键字组成。package 关键字用于指定类文件中类的包。这样import我们就可以在编写自己的类时使用外部类的短名称。

extends关键字implements用于继承。您将在 Java Core 任务的最开始查看它们。

最后,最后一组由staticfinaldefaultabstract修饰符组成。static您已经对和有所了解final。关键字abstract用于使类或方法抽象。在学习 Java Core 任务中的继承时,您将获得更多详细信息。


7. 使用对象和变量

在处理对象、方法和变量时,还使用了六个关键字。

  • new
  • instanceof
  • this
  • super
  • return
  • var(自 Java 10 起)

运算new符用于创建新对象——您已经知道了。

运算instanceof符用于验证变量是否包含对特定类型对象的引用。你已经很熟悉了。

关键字this用于解决由于实例变量和方法的遮蔽而产生的问题。你也研究过这个。

关键字super类似于this,但它用于引用父类的方法和变量。父类也称为超类。

return语句用于返回方法的值,也用于终止方法的执行。

最后,var用于声明一个自动推断其类型的变量。你已经很熟悉了。


8. 多线程

在 Java 语法层面,多线程仅由两个词表示。

  • synchronized
  • volatile

我们甚至不会碰他们。获取Java 多线程任务,然后我们将深入研究。


9.杂项

还有另外 4 个特殊关键字:

  • native
  • transient
  • assert
  • strictfp

native是一个修饰符,可以写在方法声明之前。这意味着方法代码不是用 Java 编写的,而是用 C++ 编写的,并嵌入到 Java 机器(嗯,或者 DLL)中。正如您可能已经猜到的那样,Java 机器本身也是用 C++ 编写的。就像许多标准库方法一样。

transient是一个修饰符,可以写在实例变量(类的字段)之前。它要求 Java 机器在序列化类的对象时跳过(或忽略)标记的变量。您可以在 Java 集合任务中了解有关序列化的更多信息。

assert也从 C++ 来到 Java。在它的帮助下,您可以向您的代码添加额外的检查(例如,检查变量是否为空)。这里重要的是这些检查在编译时启用或禁用。

您可以构建项目进行内部测试,这些检查将被执行(包含在构建中)。或者您可以在编译期间禁用它们以创建将提供给用户的程序版本。

至于strictfp英特尔处理器的关键字和超高精度,我们为您一一讲述


10.保留但未使用

还有两个保留但未使用的关键字。

  • const
  • goto

这些也是 C++ 语言的遗产,它们存在并被使用。


11.不是关键词

形式上,true,falsenull常量不是关键字。也就是说,他们每个人都有自己的特点。您不能命名方法true或变量false。编译器不会理解这样的代码,也不会编译它。