在性能方面延伸setTitle("Title")
时,使用super("Title")
或javax.swing.JFrame
设置标题的建议方法是什么?
答案 0 :(得分:4)
如果你grepcode JFrame
(在OpenJDK 6-b14中)并稍微挖掘一下,你会看到构造函数JFrame()
调用构造函数Frame()
,它调用Frame("")
(link)。
因此,如果您没有自己指定对任何超级构造函数的调用,则会添加隐式super()
,因此调用super("Title")
会更有效(尽管非常有效)。
答案 1 :(得分:1)
如果您在构造函数中,请尝试将尽可能多的功能委托给超级构造函数。您可以将其从做某些工作中拯救出来。
例如,默认的超级构造函数可能会创建一些内部对象,这些内部对象在调用setter时会被覆盖。如果您立即传递了正确的数据,那么您就有机会提高效率。
但我认为在这个具体案例中,它并不重要。
答案 2 :(得分:0)
在扩展课程时始终调用相应的超级(.....)是一个好习惯。 因为你永远不知道超级构造函数在场景背后的作用是什么。
你永远不需要
调用super();
如果您没有指定任何其他内容,那将会是什么。您只需要指定要调用的构造函数: