Реализация метода для морских существ вполне подходит для выдры. Было бы разумно её переиспользовать. Возможно ли это с учётом того, displaySwim имеет модификатор private?
interface CanSwim {
    void swim();
}

static abstract class SeaCreature implements CanSwim {
    @Override
    public void swim() {
        SeaCreature currentCreature = (SeaCreature) getCurrentCreature();
        currentCreature.displaySwim();
    }

    private void displaySwim() {
        System.out.println(getCurrentCreature().getClass().getSimpleName() + " is swimming");
    }

    CanSwim getCurrentCreature() {
        return this;
    }
}

static class RiverOtter implements CanSwim, CanWalk{}