Это все равно что спросить:
"Если яблоко от яблоневого сада, какому дереву принадлежит это яблоко?"
Ответ на этот вопрос:
"Нетидея, так как все яблони производят яблоки, они могут принадлежать любому дереву ".
... другими словами - вы должны предоставить экземпляр, из которого будет вызываться метод
РЕДАКТИРОВАТЬ
Из одного из ваших комментариев я понимаю, что вы ищете альтернативу шаблону Observer.Вы говорите, что вам не нравится беспорядок в шаблоне Observer, и что он не достаточно «универсален» для вас.
Я бы сказал, что это, вероятно, один из наименее запутанных шаблонов из существующих, И интерфейсыпо определению настолько универсален, насколько это возможно!
Так что, возможно, это проблема с реализацией.К счастью, я уже разместил на SO реализацию Observer в JAVA, чтобы продемонстрировать, насколько она мощна и элегантна.
Полиморфизм и интерфейсы в Java (можно ли использовать полиморфизм для реализации интерфейсов ... почему?)
На самом деле: отражение сложнее, чем при использовании интерфейса, так как вы не можете гарантировать во время компиляции, что тип объекта, который вы вызываете экземпляр метода на, даже поддерживает этот метод!(без некоторого кода проверки ошибок).В отличие от интерфейсов, такая проблема невозможна.