在Java中,是否有实现接口的快捷方式?

时间:2011-09-20 22:37:45

标签: java interface

我们可以使用存根方法来实现接口吗?即,假设我收到一条消息,说我必须实施ServletRequestAttributeListener and HttpSessionListener - 我需要做什么?我可以简单地设置方法签名,并使用虚拟值吗?

4 个答案:

答案 0 :(得分:2)

我知道你一般都在谈论Servlet API中的那些XxxListener接口。

如果您对此事件没有兴趣,请不要做任何事情。将方法体留空。如果需要,请添加注释,如NOOP(无操作),以禁止IDE“空体”警告。

@Override
public void sessionDestroyed(HttpSessionEvent event) {
    // NOOP.
}

对于其他界面,这取决于他们的合同。我确实读过他们的javadoc。

答案 1 :(得分:1)

是的,只要你了解这个的主要缺点就是你可以:你的班级不会满足界面提供的合同。如果其他人最终使用您的代码,这可能是一个问题。

答案 2 :(得分:0)

声明你的类abstract不会强迫你实现接口的方法,但你需要在子类中执行它:

public interface bar{ public void aMethod();}
public abstract class foo implements bar{ 
     //aMethod could be not implemented here, but in the first concrete subclass of foo
}

答案 3 :(得分:0)

您应该考虑花一些时间来研究设计模式。我认为你要找的是The Template Method Pattern。探索设计模式的好书是Head First Design Patterns。这是一个简单的阅读,并有一些很好的信息。