java - 方法不适用于接口(interface) : throw Exception or ignore silently? 的实现

标签 java

我目前正在实现一个相当大的接口(interface),它的一些方法不适用于实现。

我应该做一些类似于:

/**
 * @throws UnsupportedOperationException always. This method is not applicable.
 */
public void fooMethod() {
  throw new UnsupportedOperationException("This method is not applicable for this implementation.");
}

或者只是静静地忽略它,什么也不做:

public void fooMethod() {
}

前一种方法会提醒类的用户它没有执行接口(interface)提供的部分功能,但可能会与遗留代码发生冲突,在遗留代码中类被用作直接替换(它不是t,虽然)。

是否有关于此的一般规则?

最佳答案

我认为这完全取决于方法定义的契约。

例如,如果您的“List”实现不支持“remove”,您应该抛出异常以指示此行为缺失,因为客户端依赖于预期结果。

如果从契约(Contract)的意义上说该功能是可选的,例如“此方法应通知用户正在进行的 Activity ”,您可以自由地进行虚拟实现。

关于java - 方法不适用于接口(interface) : throw Exception or ignore silently? 的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4668309/

相关文章:

java - 如何在 mysql 中运行内联查询

Java Wurfl 实现异常

java - 如何在 Android 中创建必填字段 validator ?

java - ehcache中eternity和maxElementsInMemory的作用?

java - 如何在纯 Java 中使用 PostConstruct

java - 尝试从文件加载数字时获取随机数

java - 无法在 Javadoc 注释中链接到 JDK10

java - 抽象工厂模式接口(interface)实现或类扩展

java - 更改 Gridlayout Java 的间距

java - 在回收 View 中绘制直线和圆圈的最佳方法是什么?