gpt4 book ai didi

java - 为什么是 JFrame.EXIT_ON_CLOSE 与 EXIT_ON_CLOSE?

转载 作者:行者123 更新时间:2023-11-30 06:14:15 26 4
gpt4 key购买 nike

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

显式父类(super class)名真的有必要吗?

最佳答案

EXIT_ON_CLOSE 是 JFrame 类的静态成员,这意味着它在 JFrame 类的所有实例中都是相同的。

为什么要指定类?

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

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

关于java - 为什么是 JFrame.EXIT_ON_CLOSE 与 EXIT_ON_CLOSE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30581175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com