There are several reasons for a method not to have a method body:
[UnsupportedOperationException|NotSupportedException|IllegalOperationError] should be thrown.
public void doSomething() {
}
public void doSomethingElse() {
}
@Override
public void doSomething() {
// Do nothing because of X and Y.
}
@Override
public void doSomethingElse() {
throw new UnsupportedOperationException();
}
An abstract class' may have empty methods, in order to provide default implementations for child classes.
public abstract class Animal {
void speak() {
}
}