在几乎所有的代码示例我已经遇到,用于在从JFrame
派生类的方法setDefaultCloseOperation
所述参数是一些恒定如JFrame.EXIT_ON_CLOSE.
在这种情况下,由于是EXIT_ON_CLOSE
的JFrame
一个常数,它可以直接访问,并且没有按不需要获取方法来访问它。为什么我们仍然以超类名称JFrame
作为前缀?任何Swing类都是JFrame
的子类,并且会继承EXIT_ON_CLOSE
常量,为什么不直接写出方法调用setDefaultCloseOperation(EXIT_ON_CLOSE)
而不是setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
?为什么JFrame.EXIT_ON_CLOSE vs EXIT_ON_CLOSE?
显式超类的名字是否真的有必要?
1)不要扩展'JFrame',只要在99.9%的情况下使用实例。 2)一个更有趣的问题将是“JFrame.EXIT_ON_CLOSE”与“JFrame.DISPOSE_ON_CLOSE”,我将在那里为后者大声疾呼。 –