Java为什么要在构造函数中调用super()?

我正在处理一个扩展的类JFrame

这不是我的代码,它super在开始构造GUI之前先进行调用。我想知道为什么要这样做,因为我一直只访问超类的方法而不必调用super();

回答:

super()对于具有父级的所有类(这是Java中每个用户定义的类),都有一个不带参数的隐式调用,因此通常不需要显式调用。但是,如果父级的构造函数接受参数,并且你希望指定它们,则可以使用super()with参数调用。此外,如果父级的构造函数接受参数,并且没有默认的无参数构造函数,则需要super()使用参数进行调用。

一个示例,其中的显式调用super()使你可以进一步控制框架的标题:

class MyFrame extends JFrame

{

public MyFrame() {

super("My Window Title");

...

}

}

以上是 Java为什么要在构造函数中调用super()? 的全部内容, 来源链接: utcz.com/qa/432624.html

回到顶部