Tworzenie interfejsów w Javie

Mam ten interfejs:

public interface Animal {
    public void Eat(String name);
}

I ten kod tutaj implementuje interfejs:

public class Dog implements Animal {
    public void Eat(String food_name) {
        System.out.printf(food_name);
    }

    public static void main(String args[]) {
        Animal baby2 = new Dog(); //HERE!!!!!!!!!!!!!!!!!!!!!!
        baby2.Eat("Meat");
    }
}

Moje pytanie brzmi: dlaczego kod działa? Nie można utworzyć instancji interfejsu. Jednak w tym przypadku interfejs został utworzony (oznaczony komentarzem „TUTAJ !!!!!!!!!!!!!”).

Co tu się dzieje?

questionAnswers(12)

yourAnswerToTheQuestion