为什么JFrame.EXIT_ON_CLOSE vs EXIT_ON_CLOSE?

时间:2015-06-01 19:01:06

标签: java swing methods

在我遇到的几乎所有代码示例中,从setDefaultCloseOperation派生的类中的方法JFrame的参数是一些常量,例如JFrame.EXIT_ON_CLOSE.在这种情况下,因为{{ 1}}是EXIT_ON_CLOSE的常量,可以直接访问它,并且不需要getter方法来访问它。为什么我们仍然用超类名JFrame作为前缀?任何Swing类都是JFrame的子类,并且会继承JFrame常量,所以为什么不把方法调用写成EXIT_ON_CLOSE 而不是setDefaultCloseOperation(EXIT_ON_CLOSE)

显式超类名称真的有必要吗?

1 个答案:

答案 0 :(得分:5)

document.getElementById("mydiv").style.display = "block"; 是JFrame类的静态成员,这意味着它在JFrame类的所有实例中都是相同的。

为什么要指定课程?

因为如果在子类中有EXIT_ON_CLOSE变量怎么办?将使用该变量。因此,要获得静态变量的正确int值(在本例中),您必须说明定义变量的类。

它类似于在为类的实例寻址类变量时说EXIT_ON_CLOSE的原因。在这里,我们只是说类名this.variable而不是JFrame,因为变量在所有实例中都是相同的。