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

内部类WindowAdapter

车峻熙
2023-03-14
问题内容

我正在做一个Java学校作业,以为我已经完成了所有工作,但是又过了一遍要求,意识到我忽略了一个特定的要求,现在我需要重写一段代码,但是我不明白要求是什么?

当GUI窗口关闭时,我需要发生一些事情,目前,我已将其编写为一种简单的方法,并且可以正常工作,但是分配是说“
处理程序应该是扩展WindowAdapter类的内部类的对象。 ”我对内部类和扩展有基本的了解,但是这需要成为一个对象吗?我很困惑。

目前,我只是将此作为GUI类的一部分,并且工作正常,我知道需求要求的是其他不同的东西,但我不知道该怎么做:

addWindowListener (new WindowAdapter()
{
    public void windowCloses(WindowEvent e)
    {
           try
           {
                //Code logic
           }
           catch (Exception ex)
           {
             //Error print
             e.getWindow().dispose();
           }
    }

如我所说,现在每个人都工作正常,但是我认为这不是必需的。我会问我的教授,但我不认为他会在截止日期之前及时找我。

我该如何重写此代码以满足要求?”

谢谢!

编辑:根据到目前为止我收到的信息添加到此(谢谢!)

class innerClass extends WindowAdapter {

      public void windowClosing(WindowEvent e){

           //Same logic as above
      }
}

我想我知道了。因此,现在我创建此类的一个实例,并向其添加windowListener吗?


问题答案:

看起来您一切都正确!

现在,我认为您的老师的意思是: 处理程序应该是 扩展该类的内部类的 实例 (而不是“对象”)WindowAdapter

通过执行以下操作:

new WindowAdapter() {

    // Use annotations, it's useful :)
    @Override
    public void windowCloses(WindowEvent e) {
        // ...
    }
}

…您实际上是在创建一个新的 匿名*extends WindowAdapter。在这个新定义中,您将
覆盖WindowAdapter#windowCloses方法,然后在作为参数传递给的 新对象实例化 该方法。


*addWindowListener

显然,您的老师希望您实际定义一个 内部类 并为其创建一个新实例。我不想只给您提供此代码,但是您该死的很接近,您很快就会发现它!



 类似资料:
  • 本节我们将介绍 Java 中的内部类。通过本节的学习,我们将了解到什么是内部类,内部类的分类和作用。在内部类的分类部分,我们将逐一学习各个类型的内部类如何定义,如何实例化以及各自的特点,要注意区分不同类型内部类的异同。有了这些基础知识之后,我们也会结合示例介绍为什么需要内部类。 1. 概念 在 Java 语言中,可以将一个类定义在另一个类里面或者一个方法里面,我们把这样的类称为内部类。 与之对应的

  • 把一个类定义在另一个类的内部,成为内部类。 2. 作用 内部类提供了更好的封装,只能让外部类直接使用,不允许同一个包内的其他类直接访问。 内部类可以直接访问外部类的私有属性,内部类被当成外部类的成员,但外部类不能访问内部类的私有属性。 3. 使用场合只在为外部类提供服务情况下使用。 4. 分类 4.1 成员内部类 4.2 静态内部类 4.3 局部内部类 4.4 匿名内部类实例化接口,并重写接口的方

  • 局部内部类是指在一个方法中定义的内部类。示例代码如下: 局部内部类有如下特点: 1)局部内部类与局部变量一样,不能使用访问控制修饰符(public、private 和 protected)和 static 修饰符修饰。 2)局部内部类只在当前方法中有效。 3)局部内部类中不能定义 static 成员。 4)局部内部类中还可以包含内部类,但是这些内部类也不能使用访问控制修饰符(public、priv

  • 问题内容: 请看下面的代码: 在上面的代码中,在方法ModifyList()中声明的匿名内部类的实例能够访问传递给该方法的参数。AFAIK Java为内部类创建一个单独的字节码文件。 谁能解释一下Java在字节码级别上如何处理这些局部变量绑定?我的意思是,Java如何精确跟踪对作为参数传递给该方法的对象的引用? 任何帮助将不胜感激! [抱歉我的英语不好! 如果您理解我的问题,请编辑这篇文章,并删除

  • 问题内容: 内部类是否比普通类轻巧,或者最终Java像普通类一样编译内部类? 我知道java中的类本身并不是很轻量,并且它们占据了permgen内存的一部分,所以我想知道最好是使用类似闭包的函数作为内部类,还是标准类也可以呢? 问题答案: 内部类和匿名内部类都可以编译为文件。例如: 将生成三个文件,和。它们没有比其他类更“轻巧”,并且(据我所知)从性能角度来看,使用一个类比另一个类没有优势。当然,

  • 在本章中,我们将讨论Java的内部类。 嵌套类 (Nested Classes) 在Java中,就像方法一样,类的变量也可以将另一个类作为其成员。 在Java中允许在另一个类中编写类。 在其中编写的类称为nested class ,而保存内部类的类称为outer class 。 Syntax 以下是编写嵌套类的语法。 这里,类Outer_Demo是外部类,而类Inner_Demo是嵌套类。 cla