Java中的关键字是什么?

Java中的关键字是什么?,java,keyword,Java,Keyword,我对Java中的关键字很好奇 我是否应该将它理解为一个由各种方法组成的类,这些方法是通过用户定义类的每个实例创建的,比如最终的“超级”类?它在Java中是如何定义的 例如,我遇到了这样一个问题: class A { class B {} } A a = new A(); B b = a.new B(); 似乎每个类都有关键字new作为自己的方法。如果您能深入了解Java中如何定义/实现关键字,我将不胜感激。正如所有语言一样,Java都有关键字。此处,new关键字用于初始化。此处,类A的

我对Java中的关键字很好奇

我是否应该将它理解为一个由各种方法组成的类,这些方法是通过用户定义类的每个实例创建的,比如最终的“超级”类?它在Java中是如何定义的

例如,我遇到了这样一个问题:

class A {
    class B {}
}
A a = new A();
B b = a.new B();

似乎每个类都有关键字
new
作为自己的方法。如果您能深入了解Java中如何定义/实现关键字,我将不胜感激。

正如所有语言一样,Java都有关键字。此处,new关键字用于初始化。此处,类A的对象在第一条语句中初始化。在第二个语句中,类B的对象是用类A的对象A初始化的。

类没有关键字“new”作为个人方法或类似的东西。Java语言本身具有关键字“new”。换句话说,在代码中加入“new”,编译器将识别它并实例化一个新对象

此链接是Java语言的文档,在第3.9节中显示了所有关键字

编辑: 正如其他人所说,您问题中的代码片段表明的是一个内部类,例如

以下是此示例的输出:

x = 23
this.x = 1
ShadowTest.this.x = 0

这表明内部类或类B(FirstLevel)类似于类A(ShadowTest)的外部类的变量和方法(因为它与外部类的实例相关联).

最简单的单词中的关键字是
预定义的单词,这些单词具有预定义的特定含义,不能用于任何其他目的

现在,为了详细说明这一点,我将以两个关键字为例,
int
float
int
关键字用于定义整数变量,这就是关键字
int
所能做的。我们不能把它用于任何其他目的。类似地,
float
关键字可以用来定义一个float/decimal数字变量,而不是其他变量

inta=10

我定义了一个整数类型的变量
a


int float=20它们是由Java语言规范定义的。这个问题太广泛了。如果您想知道为什么需要调用
a.new B()
,那么这是关于内部类的问题,只需阅读它们。关于Java关键字及其实现的一般性问题过于宽泛。-所有
Java
关键字的列表。
new
不是一个没有类的方法,尽管示例中使用的语法可能导致这种假设
new
调用指定类的构造函数。正如@BoristheSpider所说,这里的情况是您正在创建一个内部类的实例,因此您可能需要学习。顺便说一句,“终极超类”被称为
java.lang.Object
。我认为这个答案不是特别清楚或有用。问题的关键在于
B
是一个内部类,并且只存在于
A
的实例中-这就是为什么需要奇数构造函数语法的原因。我认为这个答案不能充分解释这一点。。对不起。。塔克斯·鲍里斯
x = 23
this.x = 1
ShadowTest.this.x = 0
A a = new A();
B b = a.new B();