7

setTitle("Title")在性能方面或super("Title")在扩展时设置标题的推荐方法是什么javax.swing.JFrame

4

3 回答 3

5

如果您使用 grepcode JFrame(在 OpenJDK 6-b14 中)并稍微挖掘一下,您会看到构造函数JFrame()调用了构造函数Frame(),而构造函数又调用了Frame("")( link )。

super()因此,由于如果您自己不指定对任何超级构造函数的调用,则会添加隐式,因此调用super("Title").

于 2012-10-17T15:21:38.310 回答
1

如果您在构造函数中,请尝试将尽可能多的功能委托给超级构造函数。您可以将其从做一些工作中拯救出来。

例如,默认的超级构造函数可能会创建一些内部对象,当您调用 setter 时这些对象将被覆盖。如果您立即传递正​​确的数据,您就有机会提高效率。

但我认为在这种特定情况下,这并不重要。

于 2012-10-17T15:22:37.097 回答
0

扩展类时始终调用相应的 super(.....) 是一个好习惯。你永远不知道超级构造函数在幕后做了什么魔法。

你永远不需要只是

调用超级();

如果您不指定其他任何内容,那就是那里。您只需要指定要调用的构造函数,如果:

  • 您想调用具有参数的超类构造函数
  • 您想链接到同一类中的另一个构造函数,而不是超类构造函数
于 2012-10-17T15:21:46.097 回答