setTitle("Title")
在性能方面或super("Title")
在扩展时设置标题的推荐方法是什么javax.swing.JFrame
?
问问题
1054 次
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 回答