调用和执行方法有什么区别?两个是一回事吗?
答案 0 :(得分:19)
我不认为这些是标准术语。但是我通过以下方式理解它们:
答案 1 :(得分:4)
好吧,调用方法意味着通过名称和参数调用它;执行方法意味着执行它..运行它,逐个获取它们的行并运行它们。
答案 2 :(得分:4)
我不知道那些标准的定义,但我的理解是这样的:
调用导致执行。
答案 3 :(得分:1)
存在一些细微差别:
另见:Overview of Remote Method Invocation。当你认为这个方法是远程的时,调用(一个开始执行某事的请求)和执行之间的区别(如果请求成功就会发生某些事情)变得更加明显。
还要考虑反思的情况。这是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
的原因 答案 4 :(得分:1)
就我的知识而言:
调用是执行的前一步。如果调用成功,则执行过程开始......
例如,
参数(方法签名中声明的变量)将仅在方法调用期间创建。它是执行的前置步骤。 在调用之后,将执行实际方法,即在方法执行期间将创建局部变量(在方法体中声明的变量)。
所以参数处于调用状态,局部变量正在执行...
因此,成功的调用将导致执行。