在继承java中调用父类构造函数和超变量

在继承java中调用父类构造函数和超变量,java,inheritance,super,Java,Inheritance,Super,我有一个关于java中的超级变量的问题。我知道它用于从子类调用父类构造函数,并访问父类的方法,但我对此有几个问题。首先,我总是觉得当调用方法或构造函数时,我们必须发送存储在构造函数或方法参数中的参数。当我们使用超级构造函数调用该方法时,我们只发送尚未初始化的变量。其次,我查阅了超级变量的定义,发现了这样一个问题:“java中的Super关键字是一个引用变量,用于引用直接的父类对象。”这到底是什么意思?虽然,您的问题似乎不太清楚,但我相信您与Super关键字混淆了 看看下面几行我写的超级关键字的用

我有一个关于java中的超级变量的问题。我知道它用于从子类调用父类构造函数,并访问父类的方法,但我对此有几个问题。首先,我总是觉得当调用方法或构造函数时,我们必须发送存储在构造函数或方法参数中的参数。当我们使用超级构造函数调用该方法时,我们只发送尚未初始化的变量。其次,我查阅了超级变量的定义,发现了这样一个问题:“java中的Super关键字是一个引用变量,用于引用直接的父类对象。”这到底是什么意思?

虽然,您的问题似乎不太清楚,但我相信您与Super关键字混淆了

看看下面几行我写的超级关键字的用法

假设一个类父类有一个默认构造函数和三个方法(非静态方法a、非静态方法B和静态方法C)。类Son扩展类父并重写父的方法。父子共享继承关系

  • 现在,在不创建父对象的情况下,如果Son想使用父对象的构造函数,那么可以将“super()”作为Son构造函数中的第一条语句来使用构造函数调用只能在child的构造函数内完成。
  • Son已重写父方法a,但仍希望使用父方法的实现。这可以通过使用“super.methodName()”来完成,而无需创建父对象。不过,也可以通过在main方法中创建父对象来完成
  • Son可以使用它不重写的方法(父类的方法B),而无需仅在任何非静态方法内通过super关键字创建父对象。不过,您也可以简单地在子类中创建父对象并使用它
  • 为了访问子中父的静态方法(显然没有被覆盖,因为您不能覆盖静态方法),我们可以同时使用父和子的对象 所以,如果你能阅读超级关键字的定义,并阅读我给出的超级关键字用法的例子,那么我希望它应该是清楚的


    不过,如果您仍然不清楚任何情况,请随时对其进行评论

    你的帖子没有多大意义。如果您有一些需要帮助的代码示例,请将它们添加到您的问题中