Java abstraite de la classe implémente l'interface

J'ai l'interface suivante et abstraite de la classe qui l'implémente:

interface Walk {
    String walk();
}

public abstract class Animal implements Walk {
    abstract String MakeNoise();
}

Et la suite des implémentations concrètes:

class Cat extends Animal {
    String MakeNoise() {
        return "Meow";
    }

    @Override
    String walk() {
        return "cat is walking";
    }
}

class Dog extends Animal {
    @Override
    String walk() {
        return "Dog is walking";
    }

    @Override
    String MakeNoise() {
        return "bark";
    }
}

class Human {
    public void Speak() {
        System.out.println("...Speaking...");
    }
}

Mettant tous ensemble:

class MainClass {
    public static void main(String[] args) {
        Random randomGen = new Random();

        Animal[] zoo = new Animal[4];
        zoo[0] = new Cat();
        zoo[1] = new Dog();
        zoo[2] = new Cat();
        zoo[3] = new Cat();
        //System.out.println(zoo[ randomGen.nextInt(2)].MakeNoise());
        for (Animal animal : zoo) {
            if (animal instanceof Dog) {
                Dog jeffrey = (Dog) animal;
                System.out.println(jeffrey.MakeNoise());
            }

        }
    }
}

J'obtiens cette erreur

"walk() dans le Chat ne peut pas mettre en œuvre de marche() dans le Pied" .

Des idées? grâce

Ce n'est pas ce que l'erreur dit.
désolé, j'ai édité
une question de mon propre.... devrait Animal fournir une "mise en œuvre" (même si c'est une méthode abstraite) de marche()?
Je doute encore que ce que l'erreur dit. Si vous souhaitez une aide efficace, donner de l'information efficace: copier le message d'erreur mot à mot dans votre question.
Lors de la saisie dans les messages d'erreur, le seul clés de vos doigts doivent toucher sont ctl/command-c et ctl/command-v.

OriginalL'auteur Marin | 2011-12-14