Я в основном разрабатываю в .NET C # и мне нравятся события в C #.
Сейчас я занимаюсь чем-то вроде Android и поэтому должен иметь дело с Java. При переносе некоторого кода из C # в Java я столкнулся с проблемой событий; В Java нет ничего, что соответствует событиям C #.
Итак, читая о том, как Java обрабатывает «события», я могу сделать вывод, что это не так. В Java нет такого понятия, как «события». Вместо этого они используют обычные интерфейсы и классы, которые реализуют эти интерфейсы.
В Java:
Во-первых, вы должны сначала создать интерфейс
Затем все классы, которые хотят слушать «событие», должны реализовать этот интерфейс.
Затем класс, который запускает «событие», должен хранить список всех слушателей (некоторый массив)
Затем класс, который запускает «событие», должен иметь метод, чтобы слушатели могли добавлять себя в массив
И когда класс запуска решает «запустить событие», он должен перебирать массив слушателей, вызывая методы.
Это просто использование интерфейса, а не события в моем мире.
Я не прав?