22
Фев
2016

Создание экземпляра интерфейса

Недавно наткнулся на странный вид создания экземпляра интерфейса. Я знаю, что создавать экземпляры абстрактных классов и интерфейсов нельзя, но данная запись выглядит как-то странно.

Вопрос заключается в следующем: как можно охарактеризовать данную запись?

public class TestApp {
    public static void main(String[] args) {
        Animal animal = new Animal() {
            //?
            @Override
            public void say() {
                System.out.println("i am animal");
            }
        };
    }

    public interface Animal {
        void say();
    }
}

Источник: https://ru.stackoverflow.com/questions/496079/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%8D%D0%BA%D0%B7%D0%B5%D0%BC%D0%BF%D0%BB%D1%8F%D1%80%D0%B0-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%B0

Share

Тебе может это понравится...