Почему тут не нужен методу fly abstract
public abstract static interface Fly {
        public void fly();
    }
А тут нужен методу swim abstract ???
public abstract static class SwimPegas extends Pegas {
        public abstract void swim();
    }