Использование интерфейсов в Java

У меня есть этот интерфейс:

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

И этот код здесь реализует интерфейс:

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");
    }
}

У меня вопрос, почему код работает? Интерфейс не может быть создан. Однако в этом случае интерфейс был создан (отмечен комментарием «ЗДЕСЬ !!!!!!!!!!!!!»).

Что здесь происходит?

Ответы на вопрос(12)

Ваш ответ на вопрос