有三种可能会导致方法没有内容:
UnsupportedOperationException 。如下代码:
// Non-Compliant
public void doSomething() {
}
应该重构为:
// Compliant
@Override
public void doSomethingElse() {
// Do nothing because of X and Y.
}
或:
// Compliant
@Override
public void doSomethingElse() {
throw new UnsupportedOperationException();
}
抽象类中不能存在没有任何注释的空方法,当实现Visitor模式时会经常出现这种空方法。