我可以在实例化一个匿名类时实现一个接口吗?
问题描述:
假设我有一个抽象类FactorizedDialog
。它看起来像这样(请注意,这仅仅是一些虚拟的例子)我可以在实例化一个匿名类时实现一个接口吗?
public abstract class FactorizedDialog extends Dialog {
public abstract void myMethod();
}
现在我可以做这样的事情:
FactorizedDialog dialog = new FactorizedDialog() {
@Override
public void myMethod() {
// implementation here
}
}
正如你可能已经猜到了我延长对话框(这实际上是一个抽象类)只为它添加一个方法,所以当我创建一个匿名类时,我可以覆盖它。是否有可能在java中实现接口,而实例化对话框而不是使用派生的抽象类?
答
如果您的意思是Dialog
是一个界面,那么可以这样做。
Dialog dialog = new Dialog() {
@Override
public void myMethod() {
}
}
当然随后的myMethod
声明应该进入Dialog
接口。
正如我所提到的,这两个都是抽象类。 – 2012-02-21 10:33:01
@edem是的,我注意到后发布我的答案。 – adarshr 2012-02-21 10:33:49