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

这可能是个愚蠢的问题,但我想澄清一下。我们可以说';超级';在java中作为对象而不是关键字?,java,super,Java,Super,我知道super是一个特殊的保留关键字,但从我们使用它的方式来看,它应该被称为object。有人能澄清我的想法是对还是错吗。如果您能对此提供更详细的说明,那就更好了。这是不正确的。Super是java中的一个关键字,用于引用类实例的超类。 对象是类的实例 除非类的实例存在,否则不能使用“super”一词,因此不能将其视为等同于对象 想象一个假想的类Human。你可以问我“你的超类是什么”,我会说“它是生物”。但是你不能通过问“你的超类是什么”来“创建”一个新的人类 也许你的困惑来自于构造器中“s

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

这是不正确的。Super是java中的一个关键字,用于引用类实例的超类。 对象是类的实例

除非类的实例存在,否则不能使用“super”一词,因此不能将其视为等同于对象

想象一个假想的类
Human
。你可以问我“你的超类是什么”,我会说“它是<代码>生物”。但是你不能通过问“你的超类是什么”来“创建”一个新的
人类

也许你的困惑来自于构造器中“super”一词的使用。当我们制作
super()调用,我们实际上正在执行超类的构造函数。正如您所知,构造函数是非常特殊的方法,它们的调用方式与其他方法不同。如果我要引用超类的getter,我会执行
super.getWhatever()取而代之。然而,我们不能使用
super.something()
调用构造函数,所以我们只需要使用
super()。
关于构造类实例时对超类构造函数的调用,这是因为在将我定义为“生物”之前,不能称我为“人类”。所以,你先在我身上创造生物特征,然后把我变成人类


我希望这是有意义的:)。

嗯,
这是对这个对象的引用
super
提供了一种调用父类的方法或构造函数的方法<代码>此
引用此对象。但是没有
super
对象。正如下面解释的,super指的是一种类型,而不是一个对象。我不确定你对一个对象的概念是什么,但是
super
是对java中任何类的直接超类对象的引用。不,因为它有神奇的属性。如果它是一个对象,而您调用了一个重写的方法,那么它将调用该方法。它没有,它调用覆盖的一个。