Java - 调用超类并使用标准方法

时间:2012-03-22 00:01:36

标签: java jframe superclass

我想知道为什么你可以在JFrame上执行此操作的原因是什么:

super("My Frame");

它与:

相同
setTitle("My Frame");

我知道他们正在做同样的事情,但实际上每个人都在做什么?你为什么要调用超类而不是简单地使用继承的方法?

2 个答案:

答案 0 :(得分:2)

JFrame有一个构造函数

 public JFrame(String title) throws HeadlessException {
        super(title);
        frameInit();
    }

如果你遵循它,你最终会到达java.awt.Frame类,在它的构造函数中它说:

public Frame(String title) throws HeadlessException {
        init(title, null);
    }

init方法的作用:

private void init(String title, GraphicsConfiguration gc) {
    this.title = title;
    SunToolkit.checkAndSetPolicy(this, false);
}

底线,你使用super,只是因为你正在调用那个特定的构造函数。如果您使用任何其他不会收到给定字符串的JFrame构造函数,那么您可以按照建议手动设置标题。

答案 1 :(得分:0)

当你说super("My Frame")你正在调用超类的构造函数时。

当你说setTitle("My Frame")时它只是设置标题。

您可以在http://docs.oracle.com/javase/tutorial/java/IandI/super.html

了解有关此内容的更多信息