java - 我可以在实例化匿名类时实现接口(interface)吗?

标签 java instantiation anonymous-class

假设我有一个抽象类FactorizedDialog。它看起来像这样(请注意,这只是一些虚拟示例)

public abstract class FactorizedDialog extends Dialog {

  public abstract void myMethod();
} 

现在我可以做这样的事情:

FactorizedDialog dialog = new FactorizedDialog() {

            @Override
            public void myMethod() {
                // implementation here
            }
}

正如您可能已经猜到的那样,我扩展 Dialog(实际上是一个抽象类)只是为了向其中添加一个方法,以便在创建匿名类时可以覆盖它。当我实例化 Dialog 而不是使用派生抽象类时,是否可以在 java 中实现接口(interface)?

最佳答案

不,当您指定匿名内部类的父类(super class)时,您可以指定一个普通类来扩展一个接口(interface),但不能同时指定两者。 section 15.9 of the JLS 中显示的语法根本不允许两者兼而有之。

关于java - 我可以在实例化匿名类时实现接口(interface)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9375873/

相关文章:

java - 匿名可运行对象可防止 Android 对定义它的 Activity 进行垃圾收集

java - 如何优化将具有多个字符串和图像的条目插入到 SQLite 数据库中

java - Java 中的输入和输出

java,在for循环中保存输入

java - 如何在 Google map 上的标记上方添加文本?

C++ 通过指针实例化

c++ - 尝试实例化新对象时出错

java - 如何从抽象类实例化子类对象中访问子类方法

java - 枚举的常量值添加匿名类

java - 使用 Gson 序列化匿名类