Object obj;
Method method = obj.getClass().getMethod("methodName", null);
method.invoke(obj, null);
Обычно события используются для уведомления подписчиков о некоторых действиях или изменении состояния, которые произошли с объектом. Используя событие, вы позволяете различным подписчикам реагировать по-разному, а путем отделения подписчика (и его логики) от генератора событий объект становится повторно используемым.
В вашем примере с микшером события должны сигнализировать о начале и конце воспроизведения звукового эффекта. Если бы я использовал это в настольном приложении, я мог бы использовать эти события для включения / отключения элементов управления в пользовательском интерфейсе.
Разница между вызовом подпрограммы и возбуждением событий связана с: спецификацией, выбором, количеством элементов и, в конечном итоге, с какой стороны, инициатор или получатель имеет управление.
В случае вызовов функция инициатор выбирает для вызова процедуры приема, а инициатор указывает получателя. И это приводит к количеству элементов "многие к одному" , поскольку многие вызывающие абоненты могут выбрать вызов одной и той же подпрограммы.
С другой стороны, с событиями инициатор вызывает событие, которое будет получено этими подпрограммами. которые выбрали для получения этого события. Получатель указывает , какие события он будет получать от каких инициаторов. Затем это приводит к мощности «один ко многим» , поскольку один источник события может иметь несколько приемников.
Это компромисс между простотой и возможностью повторного использования. Давайте возьмем метафору процесса «Отправка электронного письма»:
Если вы знаете получателей и их число конечно, которое вы всегда можете определить, это так же просто, как поместить их в список «Кому» и нажать кнопку отправки. Это просто то, чем мы пользуемся большую часть времени. Это вызывает функцию напрямую.
Однако, в случае списка рассылки, вы не знаете заранее, сколько пользователей собираются подписаться на вашу электронную почту. В этом случае вы создаете программу списка рассылки, на которую пользователи могут подписаться, и электронная почта автоматически отправляется всем подписанным пользователям. Это моделирование событий.
Теперь, несмотря на то, что в обоих вышеупомянутых вариантах электронные письма отправляются пользователям, вы лучше понимаете, когда отправлять электронное письмо напрямую, а когда использовать программу списка рассылки. Примените то же суждение, надеюсь, что вы получите свой ответ :)
Cheers,
Ajit.