假设我有一个抽象类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/