Рубрики
Без рубрики

Лямбда-выражение – Часть I (анонимные Классы)

Изучая немного о Лямбда-выражениях в Java, я только что упав в документации, и, следовательно,… Помечено java, сегодняшнее обучение, бразильские разработчики, программирование.

Изучая немного о Лямбда-выражениях в Java, я только что упав в документации, и, следовательно, читал о Анонимного Класса.

Я нашел прохладно и я решил перевести и попытаться подвести:

Анонимные классы позволяют вам создать более код consciso. Они позволяют объявить и создать экземпляр класса, в то же время.

Они, как классы местах, за исключением того, что они не имеют имени.

Рекомендуется использовать в случае, если требуется местных класс только один раз.

Объявление анонимного класса

В то время как локальных классов являются классы, объявленные классы, анонимные выражения, что означает, что вы определяете класс в другое выражение.

Пример:

public class HelloWorldAnonymousClasses {

    interface HelloWorld {
        public void greet();
        public void greetSomeone(String someone);
    }

    public void sayHello() {

        class EnglishGreeting implements HelloWorld {
            String name = "world";
            public void greet() {
                greetSomeone("world");
            }
            public void greetSomeone(String someone) {
                name = someone;
                System.out.println("Hello " + name);
            }
        }
      //classe declarada na inicialização
        HelloWorld englishGreeting = new EnglishGreeting();

//classe anônima na inicialização da variável frenchGreeting
        HelloWorld frenchGreeting = new HelloWorld() {
            String name = "tout le monde";
            public void greet() {
                greetSomeone("tout le monde");
            }
            public void greetSomeone(String someone) {
                name = someone;
                System.out.println("Salut " + name);
            }
        };

        //classe anônima na inicialização da variável frenchGreeting
        HelloWorld spanishGreeting = new HelloWorld() {
            String name = "mundo";
            public void greet() {
                greetSomeone("mundo");
            }
            public void greetSomeone(String someone) {
                name = someone;
                System.out.println("Hola, " + name);
            }
        };
//Mesmo efeito no final das constas
        englishGreeting.greet();
        frenchGreeting.greetSomeone("Fred");
        spanishGreeting.greet();
    }

    public static void main(String... args) {
        HelloWorldAnonymousClasses myApp =
            new HelloWorldAnonymousClasses();
        myApp.sayHello();
    }            
}

Синтаксис анонимного класса

Как уже упоминалось ранее, анонимный класс-это выражение.

Синтаксис анонимного класса равен вызов конструктора, за исключением определений, содержащихся в блоке кода.

Рассмотрим экземпляр объекта frenchGreeting:

HelloWorld frenchGreeting = new HelloWorld() {
            String name = "tout le monde";
            public void greet() {
                greetSomeone("tout le monde");
            }
            public void greetSomeone(String someone) {
                name = someone;
                System.out.println("Salut " + name);
            }
        };

Анонимный класс состоит из следующих элементов:

  • Оператор new
  • Имя интерфейса для реализации или для расширения. Нет примера переднего, класс аноним есть реализация интерфейса Привет, мир.
  • Скобки, которая содержит аргументы для конструктора, точно так же, как экземпляр класса нормальный. Примечание: Когда вы, реализующий интерфейс, не имеет конструктора, поэтому вы используете только пару скобок равна пример.
  • Тело это объявление тела класса. Более конкретно, в теле, метод заявление допускается, но заявления нет.

Учитывая, что определение анонимного класса-это будет выражением, она должна быть частью переменной.

Источник: Документация Java

Оригинал: “https://dev.to/diariodeumacdf/expressao-lambda-parte-i-classes-anonimas-1adc”