在我遇到的几乎所有代码示例中,从setDefaultCloseOperation
派生的类中的方法JFrame
的参数是一些常量,例如JFrame.EXIT_ON_CLOSE.
在这种情况下,因为{{ 1}}是EXIT_ON_CLOSE
的常量,可以直接访问它,并且不需要getter方法来访问它。为什么我们仍然用超类名JFrame
作为前缀?任何Swing类都是JFrame
的子类,并且会继承JFrame
常量,所以为什么不把方法调用写成EXIT_ON_CLOSE
而不是setDefaultCloseOperation(EXIT_ON_CLOSE)
?
显式超类名称真的有必要吗?
答案 0 :(得分:5)
document.getElementById("mydiv").style.display = "block";
是JFrame类的静态成员,这意味着它在JFrame类的所有实例中都是相同的。
为什么要指定课程?
因为如果在子类中有EXIT_ON_CLOSE
变量怎么办?将使用该变量。因此,要获得静态变量的正确int值(在本例中),您必须说明定义变量的类。
它类似于在为类的实例寻址类变量时说EXIT_ON_CLOSE
的原因。在这里,我们只是说类名this.variable
而不是JFrame
,因为变量在所有实例中都是相同的。