当前位置: 首页 > 面试题库 >

为什么JFrame重新定义它从接口“ WindowConstants”继承的“ EXIT_ON_CLOSE”?

严狐若
2023-03-14
问题内容

WindowConstants 定义如下:

public interface WindowConstants
{
    public static final int DO_NOTHING_ON_CLOSE = 0;

    public static final int HIDE_ON_CLOSE = 1;

    public static final int DISPOSE_ON_CLOSE = 2;

    public static final int EXIT_ON_CLOSE = 3;

}

JFrame 定义如下:

public class JFrame  extends Frame implements WindowConstants,
                                              Accessible,
                                              RootPaneContainer,
                              TransferHandler.HasGetTransferHandler
{
    /**
     * The exit application default window close operation. If a window
     * has this set as the close operation and is closed in an applet,
     * a <code>SecurityException</code> may be thrown.
     * It is recommended you only use this in an application.
     * <p>
     * @since 1.3
     */
    public static final int EXIT_ON_CLOSE = 3;

为什么EXIT_ON_CLOSE要重新定义?并且由于它finalWindowConstants界面中,如何重新定义它?


问题答案:

在Java
1.3中,添加了所有功能之后,EXIT_ON_CLOSE它仅JFrame与无关,而与的其他实现无关WindowConstants。这样-这是

存在于WindowConstants和被定义JFrameXXX_ON_CLOSE界面中还有其他3个选项。(英语Javadoc不再在线,尽管仍然可以下载,所以这里没有参考。如果搜索“
WindowConstants Java 1.3”,您将获得日语版的Javadoc-但由于页面结构相同,因此您仍然可以看到点)


后来(1.4)移至WindowConstants,但是JFrame由于兼容性问题,该字段未被删除。



 类似资料:
  • 问题内容: 我是Java程序员,正在学习使用Go语言编程。到目前为止,我真的很喜欢这种语言。比Java多得多。 但是有一件事我有点困惑。Java具有接口,因为类只能从一个类继承。由于Go允许多重继承,所以接口的意义是什么? 问题答案: 多态性 接口使函数具有“占位符”参数,该参数可以采用不同的结构作为参数。例如,如果结构Man,Woman,Child实现了Human接口,则参数为Human的方法可

  • 问题内容: 我对此事仍然有些困惑。我到目前为止发现的是 (这里已经问过类似的问题,但我还有其他几点。) 接口是仅抽象方法和最终字段的集合。 Java中没有多重继承。 接口可以用于在Java中实现多重继承。 继承的一个强项是我们可以在派生类中使用基类的代码,而无需再次编写。可能这是继承在那里最重要的事情。 现在.. Q1。由于接口仅具有抽象方法(无代码),因此,如果我们实现任何接口,那么该如何继承呢

  • 问题内容: 我一直在使用Guice的AOP来拦截一些方法调用。我的课程实现了一个接口,我想注释接口方法,以便Guice可以选择正确的方法。即使使用继承的注释对注释类型进行注释,实现类也不会继承Inherited的java doc中所述的注释: 还要注意,此元注释仅使注释从超类继承;已实现的接口上的注释无效。 这可能是什么原因?了解对象的类在运行时确实实现的所有接口并不是一件容易的事,因此在此决定背

  • 我正在开发一个简单的 C 程序,并且很难理解我遇到的编译器错误。该问题是由于我尝试从基类创建派生类引起的。我在下面发布了具有相同结构的代码,但更改了名称。 BaseClass.h DerivedClass.h 派生类.cpp 在尝试编译此代码时,所有虚拟方法都会出现以下错误: 一旦我在“衍生类”中声明了这些方法,错误就会消失,因为编译器现在知道这些方法了。 然而,我很困惑。为什么有必要重新声明派生

  • 问题内容: 我认为多重继承在Java中总是非法的,但是这段代码可以编译: 是否有一个空接口,例如被认为是不好的做法?有没有一种方法可以避免空接口(使用泛型或其他方式)实现相似的目的? 注意:我不是在问如何通过接口模拟多重继承。我意识到我可以执行以下操作: 由于各种原因,我需要同时具有这两种方法的接口。 问题答案: 实现的 多重继承是不允许的。组件可以继承多个接口。 继承多个接口没有问题,因为您只是

  • 我有两个接口: 和: 从注释中可以看到,不编译。为什么不呢?我该怎么修复它呢?扩展了,所以它应该可以工作,对吗?