Каково различие между вызовом и осуществлением метода? Действительно ли два то же самое?
Я не знаю каких-либо стандартных определений этих терминов, но я понимаю следующее:
Вызов приводит к выполнению.
Есть некоторые тонкие различия:
См. Также: Обзор удаленного вызова метода . Если вы считаете метод удаленным, разница между вызовом (запрос на запуск выполнения чего-либо) и выполнением (что-то, что где-то происходит, если запрос успешен) становится более очевидной.
Рассмотрим также случай с отражением. Это метод java.lang.reflect.Method
:
public Object invoke(Object obj, Object... args) throws
IllegalAccessException, // failure during invocation
IllegalArgumentException, // failure during invocation
InvocationTargetException // invocation was successful,
// but exception was thrown during execution
Здесь также явно вызов и выполнение - это две разные вещи. Если вам нужно больше убедительности, рассмотрите случай вызова и выполнения NullPointerException
в этом контексте отражения:
obj == null
, когда метод является методом экземпляра InvocationTargetException
Я не думаю, что это стандартные термины. Однако я понимаю их следующим образом:
Вызов метода означает вызов его по имени и параметрам; выполнение метода означает выполнение его ... запуск, выборку его строк одну за другой и их запуск.