用超级或只是setTitle调用超类构造函数?

时间:2012-10-17 15:17:56

标签: java jframe

在性能方面延伸setTitle("Title")时,使用super("Title")javax.swing.JFrame设置标题的建议方法是什么?

3 个答案:

答案 0 :(得分:4)

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

因此,如果您没有自己指定对任何超级构造函数的调用,则会添加隐式super(),因此调用super("Title")会更有效(尽管非常有效)。

答案 1 :(得分:1)

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

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

但我认为在这个具体案例中,它并不重要。

答案 2 :(得分:0)

在扩展课程时始终调用相应的超级(.....)是一个好习惯。 因为你永远不知道超级构造函数在场景背后的作用是什么。

你永远不需要

调用super();

如果您没有指定任何其他内容,那将会是什么。您只需要指定要调用的构造函数:

  • 您想调用具有参数
  • 的超类构造函数
  • 您希望链接到同一个类中的另一个构造函数而不是超类构造函数