Что делает объект component в методах run в задаче ниже?

156
28 сентября 2017, 12:32

Почему если, например в последнем классе (DecoratorMyRunnableImpl) закомментировать строку component.run() - то строка "RunnableImpl body" не будет выводиться?

public class Solution {
    public static void main(String[] args) {
        new Thread(new DecoratorRunnableImpl(new DecoratorMyRunnableImpl(new RunnableImpl()))).start();
    }
    public static class RunnableImpl implements Runnable {
        @Override
        public void run() {
            System.out.println("RunnableImpl body");
        }
    }
    public static class DecoratorRunnableImpl implements Runnable {
        private Runnable component;
        public DecoratorRunnableImpl(Runnable component) {
            this.component = component;
        }
        @Override
        public void run() {
            System.out.print("DecoratorRunnableImpl body ");
            component.run();
        }
    }
    public static class DecoratorMyRunnableImpl implements Runnable {
        private Runnable component;
        public DecoratorMyRunnableImpl(Runnable component) {
            this.component = component;
        }
        @Override
        public void run() {
            System.out.print("DecoratorMyRunnableImpl body ");
            component.run();
        }
    }
}
Answer 1

При выполнении component.run(); происходит запуск метода поля component класса RunnableImpl:

  public void run() {
            System.out.println("RunnableImpl body");
        }

Соответственно если его коментить, то вывода текста не произойдет.

READ ALSO
Не получается изменить форму Toolbar (ActionBar) Android

Не получается изменить форму Toolbar (ActionBar) Android

Добрый день! Ищу способ изменить форму верхнего Toolbar (ActionBar), как на этом скринеИспользую API 21

186
Почему цвет менюшки не менят цвет обратно?

Почему цвет менюшки не менят цвет обратно?

Я сделал скрипт, который при наведении мыши перекрашивает каждый элемент в меню в белый цвет, а при событии mouseout возвращается черный цветОднако...

244