Решение валидно. Но возник вопрос!
package com.javarush.task.task12.task1227;

/*
Fly, Run, Swim для классов Duck, Penguin, Toad
*/

public class Solution {
    public static void main(String[] args) {

    }

    public interface Fly {
        public void fly();
    }

    public interface Run {
        public void run();
    }

    public interface Swim {
        public void swim();
    }

    public class Duck implements Fly, Run, Swim{

        @Override
        public void fly() {

        }

        @Override
        public void run() {

        }

        @Override
        public void swim() {

        }
    }

    public class Penguin implements Swim, Run{

        @Override
        public void run() {

        }

        @Override
        public void swim() {

        }
    }
}
Могу ли я сделать так: Класс Duck наследуется от Penguin с имплементированными интерфейсами и имплементировать не достающий интерфейс Fly? То есть я унаследую все что имеет класс Penguin с его интерфейсами и добавлю недостающий интерфейс. Решение не проходит валидацию
public interface Fly {
        public void fly();
    }

    public interface Run {
        public void run();
    }

    public interface Swim {
        public void swim();
    }

    public class Duck extends Penguin implements Fly {

        @Override
        public void fly() {

        }
/*------------ Наследуется от класса Пингвин с его интерфейсами
        @Override
        public void run() {

        }

        @Override
        public void swim() {

        }
*/---------------------------------------------------------
    }

    public class Penguin implements Swim, Run{

        @Override
        public void run() {

        }

        @Override
        public void swim() {

        }
    }
Спасибо .