我想知道为什么你可以在JFrame上执行此操作的原因是什么:
super("My Frame");
它与:
相同setTitle("My Frame");
我知道他们正在做同样的事情,但实际上每个人都在做什么?你为什么要调用超类而不是简单地使用继承的方法?
答案 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
了解有关此内容的更多信息