Решение валидно. Но возник вопрос!
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() {
}
}
Спасибо .