这可能是一个愚蠢的问题,但想要澄清一下。我们可以说 'super' 作为对象而不是 java 中的关键字吗?

It might be a dumb question but want to get it clarified. Can we say 'super' as an object rather than keyword in java?

我知道 super 是一个特殊的保留关键字,但从我们使用它的方式来看,它应该被称为对象。有人可以澄清我的想法是对还是错。如果能详细说明一下就更好了

那是不正确的。 super 是 java 中的关键字,用于引用 class 实例的 superclass。 对象是 class 的一个实例。

除非存在 class 的实例,否则不能使用 "super" 一词,因此,它不能被视为等同于对象。

想想一个假设 class Human。你可以问我"what's your superclass",我会说"it's Creature"。但是你不能通过询问 "what's your superclass".

"create" 一个新的 Human

也许您的困惑来自构造函数中 "super" 这个词的用法。当我们调用 super(); 时,实际上是在执行 superclass 的构造函数。如您所知,构造函数是非常特殊的方法,它们的调用方式与另一种方法不同。如果我要引用 superclass 的 getter,我会改为 super.getWhatever();。但是,我们不能 super.something() 来调用构造函数,所以我们只是 super();。 关于在构造 class 的实例时调用 superclass 的构造函数,那是因为你不能在将我定义为 "Creature" 之前调用我 "Human"。所以,你先在我身上创造出生物特性,然后再让我成为人类。

我希望这是有道理的:)。