java - 接口(interface)中的构造函数?

标签 java

我正在读一篇关于内部类的文章。我找到了一个演示匿名内部类的示例(如下所述)。

  button1 = new JButton();
  button2 = new JButton();
  ...
  button1.addActionListener(
     new java.awt.event.ActionListener()
     {
        public void actionPerformed(java.awt.event.ActionEvent e)
        {
           // do something
        }
     }
  );

根据示例,它创建一个内部类,用于使用 ActionListener 接口(interface)响应按钮。据我所知,接口(interface)没有构造函数。但我想知道他们如何调用构造函数。

"new java.awt.event.ActionListener(){ }”

最佳答案

接口(interface)没有构造函数,但匿名类有:像所有类一样,它隐式扩展java.lang.Object,因此它可以调用Object的无参数构造函数。

此外,Object 的构造函数是您可以调用的唯一构造函数,因为匿名类无法定义自定义构造函数。

当然,除了扩展java.lang.Object之外,您的匿名类还实现ActionListener - 这就是为什么您可以将其传递给addActionListener方法。

关于java - 接口(interface)中的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18371446/

相关文章:

java - Android中哪个线程(GUI或自定义)可以使计算更好?

java - Spring MVC-从 Controller 返回字符串值

java - StringBuffer(String str) 和 StringBuffer(CharSequence chars) 的区别

java - 更新listView/刷新适配器

java - 写入响应后立即关闭 channel

java - Android JSON WebRequest - JSONException : End of input at character 0

java - log4j 计算器

java - 在 Android Studio 中解析 JSON 对象

java - 文字字符串创建与 String 对象创建

java - 带继承的 Junit 测试是好是坏?讨论